home *** CD-ROM | disk | FTP | other *** search
/ Games of Daze / Infomagic - Games of Daze (Summer 1995) (Disc 1 of 2).iso / x2ftp / msdos / docs / inter45c / interrup.k < prev    next >
Encoding:
Text File  |  1995-03-26  |  251.8 KB  |  7,103 lines

  1. Interrupt List, part 11 of 12
  2. This compilation is Copyright (c) 1989,1990,1991,1992,1993,1994,1995 Ralf Brown
  3. --------I-68---------------------------------
  4. INT 68 - Sangoma CCPOP 3270 resident module
  5. SeeAlso: INT 67"Sangoma",INT 92"Sangoma"
  6. --------N-68---------------------------------
  7. INT 68 - Novell NetWare LU6.2
  8. Note:    the installation check consists of testing for the signature string
  9.       "APPC/PC" nine bytes before the interrupt handler
  10. SeeAlso: AH=01h/SF=1B00h,AH=FAh
  11. --------h-68---------------------------------
  12. INT 68 C - HP Vectra AT - IRQ16 - 8041 SERVICE REQUEST
  13. SeeAlso: INT 08"IRQ0",INT 69"HP Vectra",INT 6F"HP Vectra"
  14. --------N-6801--SF1B00-----------------------
  15. INT 68 - APPC/PC - NETWORK DEVICE CONTROL - DISPLAY
  16.     AH = 01h subfn 1B00h
  17.     DS:DX -> control block (see #2272)
  18. Return: control block updated
  19. SeeAlso: AH=01h/SF=2000h,AH=01h/SF=2B00h,INT 68"Novell"
  20.  
  21. Format of APPC/PC "DISPLAY" control block:
  22. Offset    Size    Description    (Table 2272)
  23.  00h 12 BYTEs    reserved
  24.  0Ch    WORD    1B00h (verb "DISPLAY")
  25.  0Eh  6 BYTEs    00h
  26.  14h    DWORD    (big-endian) return code (see #2273)
  27.  18h    WORD    00h
  28.  1Ah  8 BYTEs    (big-endian) logical unit ID
  29.  22h  8 BYTEs    (big-endian) partner logical unit name
  30.  2Ah  8 BYTEs    (big-endian) mode name
  31.  32h    BYTE    logical unit session limit
  32.  33h    BYTE    partner logical unit session limit
  33.  34h    BYTE    node maximum negotiable session limit
  34.  35h    BYTE    current session limit
  35.  36h    BYTE    minimum negotiated winner limit
  36.  37h    BYTE    maximum negotiated loser limit
  37.  38h    BYTE    active session count
  38.  39h    BYTE    active CONWINNER session count
  39.  3Ah    BYTE    active CONLOSER session count
  40.  3Bh    BYTE    session termination count
  41.  3Ch    BYTE    bit 7: SESSION_TERMINATION_TARGET_DRAIN
  42.         bit 6: SESSION_TERMINATION_SOURCE_DRAIN
  43.  
  44. (Table 2273)
  45. Values for APPC/PC return code:
  46.  0000h    successful
  47.  0001h    BAD_TP_ID
  48.  0002h    BAD_CONV_ID
  49.  0003h    bad logical unit ID
  50.  0008h    no physical unit attached
  51.  0110h    bad state
  52.  01B1h    BAD_PART_LUNAME
  53.  01B2h    bad mode name
  54.  0201h    physical unit already active
  55.  0211h    logical unit already active
  56.  0212h    BAD_PART_SESS
  57.  0213h    BAD_RU_SIZES
  58.  0214h    BAD_MODE_SESS
  59.  0216h    BAD_PACING_CNT
  60.  0219h    EXTREME_RUS
  61.  021Ah    SNASVCMG_1
  62.  0223h    SSCP_CONNECTED_LU
  63.  0230h    invalid change
  64.  0243h    too many TPs
  65.  0272h    adapter close failure
  66.  0281h    GET_ALLOC_BAD_TYPE
  67.  0282h    unsuccessful
  68.  0283h    DLC failure
  69.  0284h    unrecognized DLC
  70.  0286h    duplicate DLC
  71.  0301h    SSCP_PU_SESSION_NOT_ACTIVE
  72.  0302h    data exceeds RU size
  73.  0401h    invalid direction
  74.  0402h    invalid type
  75.  0403h    segment overlap
  76.  0404h    invalid first character
  77.  0405h    table error
  78.  0406h    conversion error
  79.  F0010000h    APPC disabled
  80.  F0020000h    APPC busy
  81.  F0030000h    APPC abended
  82.  F0040000h    incomplete
  83. --------N-6801--SF2000-----------------------
  84. INT 68 - APPC/PC - NETWORK DEVICE CONTROL - ATTACH PHYSICAL UNIT
  85.     AH = 01h subfn 2000h
  86.     DS:DX -> control block (see #2274)
  87. Return: control block updated
  88. SeeAlso: AH=01h/SF=2100h,AH=01h/SF=2B00h
  89.  
  90. Format of APPC/PC "Attach Physical Unit" control block:
  91. Offset    Size    Description    (Table 2274)
  92.  00h 12 BYTEs    reserved
  93.  0Ch    WORD    2000h (verb "Attach Physical Unit")
  94.  0Eh  6 BYTEs    00h
  95.  14h    DWORD    (big-endian) return code (see #2273)
  96.  18h    WORD    00h
  97.  1Ah    BYTE    version
  98.  1Bh    BYTE    release
  99.  1Ch  8 BYTEs    (big-endian) net name
  100.  24h  8 BYTEs    (big-endian) physical unit name
  101.  2Ch  8 BYTEs    00h
  102.  34h    DWORD    pointer to SYSTEM_LOG_EXIT routine, FFFFFFFFh=don't log errors
  103.         (see also AH=01h/SF=2100h)
  104.  38h    DWORD    00h
  105.  3Ch    BYTE    00h RETURN_CONTROL: COMPLETE
  106.         01h RETURN_CONTROL: INCOMPLETE
  107. --------N-6801--SF2100-----------------------
  108. INT 68 - APPC/PC - NETWORK DEVICE CONTROL - ATTACH LOGICAL UNIT
  109.     AH = 01h subfn 2100h
  110.     DS:DX -> control block (see #2275)
  111. Return: control block updated
  112. SeeAlso: #2278,#2279,#2281,AH=01h/SF=2000h,AH=01h/SF=2200h,AH=01h/SF=2B00h
  113.  
  114. Format of APPC/PC "Attach Logical Unit" control block:
  115. Offset    Size    Description    (Table 2275)
  116.  00h 12 BYTEs    reserved
  117.  0Ch    WORD    2100h (verb "Attach Logical Unit")
  118.  0Eh  6 BYTEs    00h
  119.  14h    DWORD    (big-endian) return code (see #2273)
  120.  18h    WORD    70  offset to partner logical unit record
  121.  1Ah  8 BYTEs    (big-endian) logical unit name
  122.  22h  8 BYTEs    (big-endian) logical unit ID
  123.  2Ah    BYTE    logical unit local address
  124.  2Bh    BYTE    logical unit session limit
  125.  2Ch    DWORD    pointer to CREATE_TP_EXIT routine,
  126.         FFFFFFFFh = reject incoming ALLOCATEs
  127.         00000000h = queue ALLOCATEs
  128.  30h    DWORD    00h
  129.  34h    DWORD    pointer to SYSTEM_LOG_EXIT routine, FFFFFFFFh=don't log errors
  130.  38h    DWORD    00h
  131.  3Ch    BYTE    maximum TPs
  132.  3Dh    BYTE    queue depth
  133.  3Eh    DWORD    pointer to LU_LU_PASSWORD_EXIT routine, FFFFFFFFh=no pswd exit
  134.  42h    DWORD    00h
  135.  46h    WORD    total length of partner records
  136.  48h    var    array of partner logical unit records (see #2276)
  137. SeeAlso: #2278,#2279,#2281
  138.  
  139. Format of APPC/PC partner logical unit record:
  140. Offset    Size    Description    (Table 2276)
  141.  00h    WORD    length of this partner logical unit record
  142.  02h    WORD    42  offset to mode records
  143.  04h  8 BYTEs    (big-endian) partner logical unit name
  144.  0Ch    BYTE    partner logical unit security capabilities
  145.         bit 7: already verified
  146.         bit 6: conversation level security
  147.         bit 5: session level security
  148.  0Dh    BYTE    partner logical unit session limit
  149.  0Eh    WORD    partner logical unit maximum MC_SEND_LL
  150.  10h  8 BYTEs    (big-endian) partner logical unit DLC name
  151.  18h    BYTE    partner logical unit adapter number
  152.  19h 17 BYTEs    (counted string) partner logical unit adapter address
  153.  2Ah    WORD    total length of mode records
  154.  2Ch 16N BYTEs    array of mode records (see #2277)
  155.  
  156. Format of mode record:
  157. Offset    Size    Description    (Table 2277)
  158.  00h    WORD    16  length of this mode record
  159.  02h  8 BYTEs    (big-endian) mode name
  160.  0Ah    WORD    RU_SIZE high bound
  161.  0Ch    WORD    RU_SIZE low bound
  162.  0Eh    BYTE    mode maximum negotiable session limit
  163.  0Fh    BYTE    pacing size for receive
  164.  
  165. Routines defined by LU_LU_PASSWORD_EXIT, CREATE_TP_EXIT, and SYSTEM_LOG_EXIT
  166. pointers are called by pushing the DWORD pointer to the verb on the stack and
  167. then performing a FAR call.
  168.  
  169. Format of ACCESS_LU_LU_PW verb:
  170. Offset    Size    Description    (Table 2278)
  171.  00h 12 BYTEs    reserved
  172.  0Ch    WORD    1900h (verb "ACCESS_LU_LU_PW")
  173.  0Eh  8 BYTEs    (big-endian) logical unit ID
  174.  16h  8 BYTEs    (big-endian) logical unit name
  175.  1Eh  8 BYTEs    (big-endian) partner logical unit name
  176.  26h 17 BYTEs    (counted string) partner fully qualified logical unit name
  177.  37h    BYTE    password available (0=no, 1=yes)
  178.  38h  8 BYTEs    password
  179. SeeAlso: #2275,#2279,#2281
  180.  
  181. Format of CREATE_TP verb:
  182. Offset    Size    Description    (Table 2279)
  183.  00h 12 BYTEs    reserved
  184.  0Ch    WORD    2300h (verb "CREATE_TP")
  185.  0Eh  6 BYTEs    00h
  186.  14h    DWORD    (big-endian) sense code (see #2280)
  187.  18h  8 BYTEs    (big-endian) TP ID
  188.  20h  8 BYTEs    (big-endian) logical unit ID
  189.  28h    DWORD    (big-endian) conversation ID
  190.  2Ch    BYTE    0 basic conversation, 1 mapped conversation
  191.  2Dh    BYTE    0 no sync level, 1 confirm
  192.  2Eh    BYTE    reserved
  193.  2Fh 65 BYTEs    (counted string) transaction program name
  194.  70h  6 BYTEs    00h
  195.  76h    WORD    length of ERROR_LOG_DATA to return
  196.  78h    DWORD    pointer to ERROR_LOG_DATA buffer
  197.  7Ch  8 BYTEs    (big-endian) partner logical unit name
  198.  84h 18 BYTEs    (counted string) partner fully qualified logical unit name
  199.  96h  8 BYTEs    (big-endian) mode name
  200.  9Eh 12 BYTEs    00h
  201.  AAh 11 BYTEs    (counted string) password
  202.  B5h 11 BYTEs    (counted string) user ID
  203.  C0h    BYTE    0 verification should be performed
  204.         1 already verified
  205. SeeAlso: #2278,#2281
  206.  
  207. (Table 2280)
  208. Values for APPC/PC sense code:
  209.  00000000h    Ok
  210.  080F6051h    SECURITY_NOT_VALID
  211.  084B6031h    TP_NOT_AVAIL_RETRY
  212.  084C0000h    TP_NOT_AVAIL_NO_RETRY
  213.  10086021h    TP_NAME_NOT_RECOGNIZED
  214.  10086034h    CONVERSATION_TYPE_MISMATCH
  215.  10086041h    SYNC_LEVEL_NOT_SUPPORTED
  216.  
  217. Format of SYSLOG verb:
  218. Offset    Size    Description    (Table 2281)
  219.  00h 12 BYTEs    reserved
  220.  0Ch    WORD    2600h (verb "SYSLOG")
  221.  0Eh 10 BYTEs    00h
  222.  18h    WORD    (big-endian) type
  223.  1Ah    DWORD    (big-endian) subtype
  224.  1Eh    DWORD    pointer to ADDITIONAL_INFO
  225.  22h    DWORD    (big-endian) conversation ID
  226.  26h  8 BYTEs    (big-endian) TP ID
  227.  2Eh  8 BYTEs    (big-endian) physical unit or logical unit name
  228.  36h    WORD    length of data
  229.  38h    DWORD    pointer to data
  230.  3Ch    BYTE    00h
  231. SeeAlso: #2278,#2279
  232. --------N-6801--SF2200-----------------------
  233. INT 68 - APPC/PC - NETWORK DEVICE CONTROL - DETACH LOGICAL UNIT
  234.     AH = 01h subfn 2200h
  235.     DS:DX -> control block (see #2282)
  236. Return: control block updated
  237. SeeAlso: AH=01h/SF=2000h,AH=01h/SF=2100h,AH=01h/SF=2700h
  238.  
  239. Format of APPC/PC "Detach Logical Unit" control block:
  240. Offset    Size    Description    (Table 2282)
  241.  00h 12 BYTEs    reserved
  242.  0Ch    WORD    2200h (verb "Detach Logical Unit")
  243.  0Eh  6 BYTEs    00h
  244.  14h    DWORD    (big-endian) return code (see #2273)
  245.  18h  8 BYTEs    (big-endian) logical unit ID
  246.  20h    BYTE    00h
  247. --------N-6801--SF2700-----------------------
  248. INT 68 - APPC/PC - NETWORK DEVICE CONTROL - DETACH PHYSICAL UNIT
  249.     AH = 01h subfn 2700h
  250.     DS:DX -> control block (see #2283)
  251. Return: control block updated
  252. SeeAlso: AH=01h/SF=2000h,AH=01h/SF=2100h,AH=01h/SF=2200h
  253.  
  254. Format of APPC/PC "Detach Physical Unit" control block:
  255. Offset    Size    Description    (Table 2283)
  256.  00h 12 BYTEs    reserved
  257.  0Ch    WORD    2700h (verb "Detach Physical Unit")
  258.  0Eh  6 BYTEs    00h
  259.  14h    DWORD    (big-endian) return code (see #2273)
  260.  18h    BYTE    00h  type: hard
  261.         01h  type: soft
  262. --------N-6801--SF2B00-----------------------
  263. INT 68 - APPC/PC - NETWORK DEVICE CONTROL - ACTIVATE DLC
  264.     AH = 01h subfn 2B00h
  265.     DS:DX -> control block (see #2284)
  266. Return: control block updated
  267. SeeAlso: AH=01h/SF=1B00h,AH=01h/SF=2000h
  268.  
  269. Format of APPC/PC "Activate DLC" control block:
  270. Offset    Size    Description    (Table 2284)
  271.  00h 12 BYTEs    reserved
  272.  0Ch    WORD    2B00h (verb "Activate DLC")
  273.  0Eh  6 BYTEs    00h
  274.  14h    DWORD    (big-endian) return code (see #2273)
  275.  18h  8 BYTEs    (big-endian) DLC name
  276.  20h    BYTE    adapter number
  277. --------N-6802--SF0100-----------------------
  278. INT 68 - APPC/PC - CONNECTION CONTROL - ALLOCATE
  279.     AH = 02h subfn 0100h
  280.     DS:DX -> control block (see #2285)
  281. Return: control block updated
  282. SeeAlso: AH=02h/SF=0500h
  283.  
  284. Format of APPC/PC "Allocate" control block:
  285. Offset    Size    Description    (Table 2285)
  286.  00h 12 BYTEs    reserved
  287.  0Ch    WORD    0100h (verb "Allocate" or "MC_Allocate")
  288.  0Eh    BYTE    1 if MC_ (mapped conversation) form of verb
  289.         0 if basic verb
  290.  0Fh  5 BYTEs    reserved (0)
  291.  14h    WORD    (big-endian) primary return code (see #2286)
  292.  16h    DWORD    (big-endian) error code (see #2287)
  293.  1Ah  8 BYTEs    (big-endian) TP_ID
  294.  22h    DWORD    (big-endian) conversation ID
  295.  26h    BYTE    (MC_Allocate only) conversation type
  296.         0 basic conversation
  297.         1 mapped conversation
  298.  27h    BYTE    SYNC_LEVEL (00h none, 01h confirm)
  299.  28h    WORD    0000h
  300.  2Ah    BYTE    RETURN_CONTROL
  301.         00h when session allocated
  302.         01h immediate
  303.         02h when session free
  304.  2Bh  8 BYTEs    00h
  305.  33h  8 BYTEs    (big-endian) partner logical unit name
  306.  3Bh  8 BYTEs    (big-endian) mode name
  307.  43h 65 BYTEs    (counted string) TP name
  308.  84h    BYTE    security (00h none, 01h same, 02h pgm)
  309.  85h 11 BYTEs    00h
  310.  90h 11 BYTEs    (counted string) password
  311.  9Bh 11 BYTEs    (counted string) user ID
  312.  A6h    WORD    PIP_DATA length
  313.  A8h    DWORD    pointer to PIP_DATA
  314.  
  315. (Table 2286)
  316. Values for APPC/PC primary return code:
  317.  0000h    successful
  318.  0001h    parameter check
  319.  0002h    state check
  320.  0003h    allocation error
  321.  0005h    deallocate abended
  322.  0006h    deallocate abended program
  323.  0007h    deallocate abended SVC
  324.  0008h    deallocate abended timer
  325.  0009h    deallocate normal return
  326.  000Ah    data posting blocked
  327.  000Bh    posting not active
  328.  000Ch    PROG_ERROR_NO_TRUNC
  329.  000Dh    PROG_ERROR_TRUNC
  330.  000Eh    PROG_ERROR_PURGING
  331.  000Fh    CONV_FAILURE_RETRY
  332.  0010h    CONV_FAILURE_NO_RETRY
  333.  0011h    SVC_ERROR_NO_TRUNC
  334.  0012h    SVC_ERROR_TRUNC
  335.  0013h    SVC_ERROR_PURGING
  336.  0014h    unsuccessful
  337.  0018h    CNOS partner logical unit reject
  338.  0019h    conversation type mixed
  339.  F001h    APPC disabled
  340.  F002h    APPC busy
  341.  F003h    APPC abended
  342.  F004h    incomplete
  343.  
  344. (Table 2287)
  345. Values for APPC/PC error code:
  346.  0001h    bad TP ID
  347.  0002h    bad conversation ID
  348.  0004h    allocation error, no retry
  349.  0005h    allocation error, retry
  350.  0006h    data area crosses segment boundary
  351.  0010h    bad TPN length
  352.  0011h    bad CONV length
  353.  0012h    bad SYNC level
  354.  0013h    bad security selection
  355.  0014h    bad return control
  356.  0015h    SEC_TOKENS too big
  357.  0016h    PIP_LEN incorrect
  358.  0017h    no use of SNASVCMG
  359.  0018h    unknown partner mode
  360.  0031h    confirm: SYNC_NONE
  361.  0032h    confirm: bad state
  362.  0033h    confirm: NOT_LL_BDY
  363.  0041h    confirmed: bad state
  364.  0051h    deallocate: bad type
  365.  0052h    deallocate: flush bad state
  366.  0053h    deallocate: confirm bad state
  367.  0055h    deallocate: NOT_LL_BDY
  368.  0057h    deallocate: log LL_WRONG
  369.  0061h    flush: not send state
  370.  0091h    post on receipt: invalid length
  371.  0092h    post on receipt: not in receive state
  372.  0093h    post on receipt: bad fill
  373.  00A1h    prepare to receive:invalid type
  374.  00A2h    prepare to receive: unfinished LL
  375.  00A3h    prepare to receive: not in send state
  376.  00B1h    receive and wait: bad state
  377.  00B2h    receive and wait: NOT_LL_BDY
  378.  00B5h    receive and wait: bad fill
  379.  00C1h    receive immediate: not in receive state
  380.  00C4h    receive immediate: bad fill
  381.  00E1h    request to send: not in receive state
  382.  00F1h    send data: bad LL
  383.  00F2h    send data: not in send state
  384.  0102h    send error: log LL wrong
  385.  0103h    send error: bad type
  386.  0121h    test: invalid type
  387.  0122h    test: not in receive state
  388. --------N-6802--SF0300-----------------------
  389. INT 68 - APPC/PC - CONNECTION CONTROL - CONFIRM
  390.     AH = 02h subfn 0300h
  391.     DS:DX -> control block (see #2288)
  392. Return: control block updated
  393. SeeAlso: AH=02h/SF=0400h
  394.  
  395. Format of APPC/PC "Confirm" control block:
  396. Offset    Size    Description    (Table 2288)
  397.  00h 12 BYTEs    reserved
  398.  0Ch    WORD    0300h (verb "Confirm" or "MC_Confirm")
  399.  0Eh    BYTE    1 if MC_ (mapped conversation) form of verb
  400.         0 if basic verb
  401.  0Fh  5 BYTEs    reserved (0)
  402.  14h    WORD    (big-endian) primary return code (see #2286)
  403.  16h    DWORD    (big-endian) error code (see #2287)
  404.  1Ah  8 BYTEs    (big-endian) TP_ID
  405.  22h    DWORD    (big-endian) conversation ID
  406.  26h    BYTE    request to send received (0=no, 1=yes)
  407. --------N-6802--SF0400-----------------------
  408. INT 68 - APPC/PC - CONNECTION CONTROL - CONFIRMED
  409.     AH = 02h subfn 0400h
  410.     DS:DX -> control block (see #2289)
  411. Return: control block updated
  412. SeeAlso: AH=02h/SF=0300h
  413.  
  414. Format of APPC/PC "Confirmed" control block:
  415. Offset    Size    Description    (Table 2289)
  416.  00h 12 BYTEs    reserved
  417.  0Ch    WORD    0400h (verb "Confirmed" or "MC_Confirmed")
  418.  0Eh    BYTE    1 if MC_ (mapped conversation) form of verb
  419.         0 if basic verb
  420.  0Fh  5 BYTEs    reserved (0)
  421.  14h    WORD    (big-endian) primary return code (see #2286)
  422.  16h    DWORD    (big-endian) error code (see #2287)
  423.  1Ah  8 BYTEs    (big-endian) TP_ID
  424.  22h    DWORD    (big-endian) conversation ID
  425. --------N-6802--SF0500-----------------------
  426. INT 68 - APPC/PC - CONNECTION CONTROL - DEALLOCATE
  427.     AH = 02h subfn 0500h
  428.     DS:DX -> control block (see #2290)
  429. Return: control block updated
  430. SeeAlso: AH=02h/SF=0100h,AH=02h/SF=0300h
  431.  
  432. Format of APPC/PC "Deallocate" control block:
  433. Offset    Size    Description    (Table 2290)
  434.  00h 12 BYTEs    reserved
  435.  0Ch    WORD    0500h (verb "Deallocate" or "MC_Deallocate")
  436.  0Eh    BYTE    1 if MC_ (mapped conversation) form of verb
  437.         0 if basic verb
  438.  0Fh  5 BYTEs    reserved (0)
  439.  14h    WORD    (big-endian) primary return code (see #2286)
  440.  16h    DWORD    (big-endian) error code (see #2287)
  441.  1Ah  8 BYTEs    (big-endian) TP_ID
  442.  22h    DWORD    (big-endian) conversation ID
  443.  26h    BYTE    00h
  444.  27h    BYTE    type
  445.         00h SYNC_LEVEL
  446.         01h FLUSH
  447.         02h ABEND_PROC
  448.         03h ABEND_SVC
  449.         04h ABEND_TIMER
  450.         05h ABEND
  451.  28h    WORD    (MC_Deallocate only) length of error log data
  452.  2Ah    DWORD    (MC_Deallocate only) pointer to error log data
  453. --------N-6802--SF0600-----------------------
  454. INT 68 - APPC/PC - CONNECTION CONTROL - FLUSH
  455.     AH = 02h subfn 0600h
  456.     DS:DX -> control block (see #2291)
  457. Return: control block updated
  458. SeeAlso: AH=02h/SF=0300h
  459.  
  460. Format of APPC/PC "Flush" control block:
  461. Offset    Size    Description    (Table 2291)
  462.  00h 12 BYTEs    reserved
  463.  0Ch    WORD    0600h (verb "Flush" or "MC_Flush")
  464.  0Eh    BYTE    1 if MC_ (mapped conversation) form of verb
  465.         0 if basic verb
  466.  0Fh  5 BYTEs    reserved (0)
  467.  14h    WORD    (big-endian) primary return code (see #2286)
  468.  16h    DWORD    (big-endian) error code (see #2287)
  469.  1Ah  8 BYTEs    (big-endian) TP_ID
  470.  22h    DWORD    (big-endian) conversation ID
  471. --------N-6802--SF0700-----------------------
  472. INT 68 - APPC/PC - CONNECTION CONTROL - GET ATTRIBUTES
  473.     AH = 02h subfn 0700h
  474.     DS:DX -> control block (see #2292)
  475. Return: control block updated
  476. SeeAlso: AH=02h/SF=0300h
  477.  
  478. Format of APPC/PC "Get_Attributes" control block:
  479. Offset    Size    Description    (Table 2292)
  480.  00h 12 BYTEs    reserved
  481.  0Ch    WORD    0700h (verb "Get_Attributes" or "MC_Get_Attributes")
  482.  0Eh    BYTE    1 if MC_ (mapped conversation) form of verb
  483.         0 if basic verb
  484.  0Fh  5 BYTEs    reserved (0)
  485.  14h    WORD    (big-endian) primary return code (see #2286)
  486.  16h    DWORD    (big-endian) error code (see #2287)
  487.  1Ah  8 BYTEs    (big-endian) TP_ID
  488.  22h    DWORD    (big-endian) conversation ID
  489.  26h  8 BYTEs    (big-endian) logical unit ID
  490.  2Eh    BYTE    00h
  491.  2Fh    BYTE    SYNC_LEVEL (0=none, 1=confirm)
  492.  30h  8 BYTEs    (big-endian) mode name
  493.  38h  8 BYTEs    (big-endian) own net name
  494.  40h  8 BYTEs    (big-endian) own logical unit name
  495.  48h  8 BYTEs    (big-endian) partner logical unit name
  496.  50h 18 BYTEs    (counted string) partner's fully qualified logical unit name
  497.  62h    BYTE    00h
  498.  63h 11 BYTEs    (counted string) user ID
  499. --------N-6802--SF0800-----------------------
  500. INT 68 - APPC/PC - CONNECTION CONTROL - GET CONVERSATION TYPE
  501.     AH = 02h subfn 0800h
  502.     DS:DX -> control block (see #2293)
  503. Return: control block updated
  504. SeeAlso: AH=02h/SF=0300h
  505.  
  506. Format of APPC/PC "Get_Type" control block:
  507. Offset    Size    Description    (Table 2293)
  508.  00h 12 BYTEs    reserved
  509.  0Ch    WORD    0800h (verb "Get_Type")
  510.  0Eh    BYTE    1 if MC_ (mapped conversation) form of verb
  511.         0 if basic verb
  512.  0Fh  5 BYTEs    reserved (0)
  513.  14h    WORD    (big-endian) primary return code (see #2286)
  514.  16h    DWORD    (big-endian) error code (see #2287)
  515.  1Ah  8 BYTEs    (big-endian) TP_ID
  516.  22h    DWORD    (big-endian) conversation ID
  517.  26h    BYTE    (ret) type (0=basic conversation, 1=mapped conversation)
  518. --------N-6802--SF0900-----------------------
  519. INT 68 - APPC/PC - CONNECTION CONTROL - POST ON RECEIPT
  520.     AH = 02h subfn 0900h
  521.     DS:DX -> control block (see #2294)
  522. Return: control block updated
  523. SeeAlso: AH=02h/SF=0A00h
  524.  
  525. Format of APPC/PC "Post_on_Receipt" control block:
  526. Offset    Size    Description    (Table 2294)
  527.  00h 12 BYTEs    reserved
  528.  0Ch    WORD    0900h (verb "Post_on_Receipt")
  529.  0Eh    BYTE    1 if MC_ (mapped conversation) form of verb
  530.         0 if basic verb
  531.  0Fh  5 BYTEs    reserved (0)
  532.  14h    WORD    (big-endian) primary return code (see #2286)
  533.  16h    DWORD    (big-endian) error code (see #2287)
  534.  1Ah  8 BYTEs    (big-endian) TP_ID
  535.  22h    DWORD    (big-endian) conversation ID
  536.  26h    WORD    maximum length
  537.  28h    BYTE    fill (0=buffer, 1=LL)
  538. --------N-6802--SF0A00-----------------------
  539. INT 68 - APPC/PC - CONNECTION CONTROL - PREPARE TO RECEIVE
  540.     AH = 02h subfn 0A00h
  541.     DS:DX -> control block (see #2295)
  542. Return: control block updated
  543. SeeAlso: AH=02h/SF=0900h,AH=02h/SF=0B00h
  544.  
  545. Format of APPC/PC "Prepare_to_Receive" control block:
  546. Offset    Size    Description    (Table 2295)
  547.  00h 12 BYTEs    reserved
  548.  0Ch    WORD    0A00h (verb "Prepare_to_Receive" or "MC_Prepare_to_Receive")
  549.  0Eh    BYTE    1 if MC_ (mapped conversation) form of verb
  550.         0 if basic verb
  551.  0Fh  5 BYTEs    reserved (0)
  552.  14h    WORD    (big-endian) primary return code (see #2286)
  553.  16h    DWORD    (big-endian) error code (see #2287)
  554.  1Ah  8 BYTEs    (big-endian) TP_ID
  555.  22h    DWORD    (big-endian) conversation ID
  556.  26h    BYTE    type (0=SYNC_LEVEL, 1=FLUSH)
  557.  27h    BYTE    locks (0=short, 1=long)
  558. --------N-6802--SF0B00-----------------------
  559. INT 68 - APPC/PC - CONNECTION CONTROL - RECEIVE AND WAIT
  560.     AH = 02h subfn 0B00h
  561.     DS:DX -> control block (see #2296)
  562. Return: control block updated
  563. SeeAlso: AH=02h/SF=0C00h,AH=02h/SF=0F00h
  564.  
  565. Format of APPC/PC "Receive_and_Wait" control block:
  566. Offset    Size    Description    (Table 2296)
  567.  00h 12 BYTEs    reserved
  568.  0Ch    WORD    0B00h (verb "Receive_and_Wait" or "MC_Receive_and_Wait")
  569.  0Eh    BYTE    1 if MC_ (mapped conversation) form of verb
  570.         0 if basic verb
  571.  0Fh  5 BYTEs    reserved (0)
  572.  14h    WORD    (big-endian) primary return code (see #2286)
  573.  16h    DWORD    (big-endian) error code (see #2287)
  574.  1Ah  8 BYTEs    (big-endian) TP_ID
  575.  22h    DWORD    (big-endian) conversation ID
  576.  26h    BYTE    type of information received (see #2297)
  577.  27h    BYTE    (MC_Receive_and_Wait only) fill (0=buffer, 1=LL)
  578.  28h    BYTE    Request_to_Send_Received (0=no, 1=yes)
  579.  29h    WORD    maximum length
  580.  2Bh    WORD    data length
  581.  2Dh    DWORD    pointer to data
  582.  
  583. (Table 2297)
  584. Values for type of information received:
  585.  00h    data
  586.  01h    data complete
  587.  02h    data incomplete
  588.  03h    confirm
  589.  04h    confirm send
  590.  05h    confirm deallocate
  591.  06h    send
  592. --------N-6802--SF0C00-----------------------
  593. INT 68 - APPC/PC - CONNECTION CONTROL - RECEIVE IMMEDIATE
  594.     AH = 02h subfn 0C00h
  595.     DS:DX -> control block (see #2298)
  596. Return: control block updated
  597. SeeAlso: AH=02h/SF=0B00h,AH=02h/SF=0F00h
  598.  
  599. Format of APPC/PC "Receive_Immediate" control block:
  600. Offset    Size    Description    (Table 2298)
  601.  00h 12 BYTEs    reserved
  602.  0Ch    WORD    0C00h (verb "Receive_Immediate" or "MC_Receive_Immediate")
  603.  0Eh    BYTE    1 if MC_ (mapped conversation) form of verb
  604.         0 if basic verb
  605.  0Fh  5 BYTEs    reserved (0)
  606.  14h    WORD    (big-endian) primary return code (see #2286)
  607.  16h    DWORD    (big-endian) error code (see #2287)
  608.  1Ah  8 BYTEs    (big-endian) TP_ID
  609.  22h    DWORD    (big-endian) conversation ID
  610.  26h    BYTE    type of information received (see #2297)
  611.  27h    BYTE    (MC_Receive_Immediate only) fill (0=buffer, 1=LL)
  612.  28h    BYTE    Request_to_Send_Received (0=no, 1=yes)
  613.  29h    WORD    maximum length
  614.  2Bh    WORD    data length
  615.  2Dh    DWORD    pointer to data
  616. --------N-6802--SF0E00-----------------------
  617. INT 68 - APPC/PC - CONNECTION CONTROL - REQUEST TO SEND
  618.     AH = 02h subfn 0E00h
  619.     DS:DX -> control block (see #2299)
  620. Return: control block updated
  621. SeeAlso: AH=02h/SF=0F00h,AH=02h/SF=1000h
  622.  
  623. Format of APPC/PC "Request_to_Send" control block:
  624. Offset    Size    Description    (Table 2299)
  625.  00h 12 BYTEs    reserved
  626.  0Ch    WORD    0E00h (verb "Request_to_Send" or "MC_Request_to_Send")
  627.  0Eh    BYTE    1 if MC_ (mapped conversation) form of verb
  628.         0 if basic verb
  629.  0Fh  5 BYTEs    reserved (0)
  630.  14h    WORD    (big-endian) primary return code (see #2286)
  631.  16h    DWORD    (big-endian) error code (see #2287)
  632.  1Ah  8 BYTEs    (big-endian) TP_ID
  633.  22h    DWORD    (big-endian) conversation ID
  634. --------N-6802--SF0F00-----------------------
  635. INT 68 - APPC/PC - CONNECTION CONTROL - SEND DATA
  636.     AH = 02h subfn 0F00h
  637.     DS:DX -> control block (see #2300)
  638. Return: control block updated
  639. SeeAlso: AH=02h/SF=0E00h,AH=02h/SF=1000h
  640.  
  641. Format of APPC/PC "Send_Data" control block:
  642. Offset    Size    Description    (Table 2300)
  643.  00h 12 BYTEs    reserved
  644.  0Ch    WORD    0F00h (verb "Send_Data" or "MC_Send_Data")
  645.  0Eh    BYTE    1 if MC_ (mapped conversation) form of verb
  646.         0 if basic verb
  647.  0Fh  5 BYTEs    reserved (0)
  648.  14h    WORD    (big-endian) primary return code (see #2286)
  649.  16h    DWORD    (big-endian) error code (see #2287)
  650.  1Ah  8 BYTEs    (big-endian) TP_ID
  651.  22h    DWORD    (big-endian) conversation ID
  652.  26h    BYTE    request to send received (0=no, 1=yes)
  653.  27h    BYTE    00h
  654.  28h    WORD    data length
  655.  2Ah    DWORD    pointer to data
  656. --------N-6802--SF1000-----------------------
  657. INT 68 - APPC/PC - CONNECTION CONTROL - SEND ERROR
  658.     AH = 02h subfn 1000h
  659.     DS:DX -> control block (see #2301)
  660. Return: control block updated
  661. SeeAlso: AH=02h/SF=0F00h
  662.  
  663. Format of APPC/PC "Send_Error" control block:
  664. Offset    Size    Description    (Table 2301)
  665.  00h 12 BYTEs    reserved
  666.  0Ch    WORD    1000h (verb "Send_Error" or "MC_Send_Error")
  667.  0Eh    BYTE    1 if MC_ (mapped conversation) form of verb
  668.         0 if basic verb
  669.  0Fh  5 BYTEs    reserved (0)
  670.  14h    WORD    (big-endian) primary return code (see #2286)
  671.  16h    DWORD    (big-endian) error code (see #2287)
  672.  1Ah  8 BYTEs    (big-endian) TP_ID
  673.  22h    DWORD    (big-endian) conversation ID
  674.  26h    BYTE    request to send received (0=no, 1=yes)
  675.  27h    BYTE    type (0=program, 1=SVC)
  676.  28h    DWORD    00h
  677.  2Ch    WORD    (MC_Send_Error only) LOG_DATA length
  678.  2Eh    DWORD    (MC_Send_Error only) pointer to LOG_DATA
  679. --------N-6802--SF1200-----------------------
  680. INT 68 - APPC/PC - CONNECTION CONTROL - TEST
  681.     AH = 02h subfn 1200h
  682.     DS:DX -> control block (see #2302)
  683. Return: control block updated
  684. SeeAlso: AH=02h/SF=1300h
  685.  
  686. Format of APPC/PC "Test" control block:
  687. Offset    Size    Description    (Table 2302)
  688.  00h 12 BYTEs    reserved
  689.  0Ch    WORD    1200h (verb "Test" or "MC_Test")
  690.  0Eh    BYTE    1 if MC_ (mapped conversation) form of verb
  691.         0 if basic verb
  692.  0Fh  5 BYTEs    reserved (0)
  693.  14h    WORD    (big-endian) primary return code (see #2286)
  694.  16h    DWORD    (big-endian) error code (see #2287)
  695.  1Ah  8 BYTEs    (big-endian) TP_ID
  696.  22h    DWORD    (big-endian) conversation ID
  697.  26h    BYTE    (MC_Test only) test (0=posted, 1=request_to_send received)
  698. Note:    error code has different interpretations for:
  699.     0 posted data
  700.     1 posted not data (primary return code = 0)
  701.     1 bad TP_ID (primary return code = 1)
  702. --------N-6802--SF1300-----------------------
  703. INT 68 - APPC/PC - CONNECTION CONTROL - WAIT
  704.     AH = 02h subfn 1300h
  705.     DS:DX -> control block (see #2303)
  706. Return: control block updated
  707. SeeAlso: AH=02h/SF=1200h
  708.  
  709. Format of APPC/PC "Wait" control block:
  710. Offset    Size    Description    (Table 2303)
  711.  00h 12 BYTEs    reserved
  712.  0Ch    WORD    1300h (verb "Wait")
  713.  0Eh    BYTE    1 if MC_ (mapped conversation) form of verb
  714.         0 if basic verb
  715.  0Fh  5 BYTEs    reserved (0)
  716.  14h    WORD    (big-endian) primary return code (see #2286)
  717.  16h    DWORD    (big-endian) error code (see #2287,#2302)
  718.  1Ah  8 BYTEs    (big-endian) TP_ID
  719.  22h    DWORD    (big-endian) conversation ID
  720.  26h    BYTE    number of conversations to wait on
  721.         Note: error codes have interpretations as for AH=02h/SF=1200h
  722. --------N-6803--SF2400-----------------------
  723. INT 68 - APPC/PC - TP STARTED
  724.     AH = 03h subfn 2400h
  725.     DS:DX -> control block (see #2304)
  726. Return: control block updated
  727.  
  728. Format of APPC/PC "TP Started" control block:
  729. Offset    Size    Description    (Table 2304)
  730.  00h 12 BYTEs    reserved
  731.  0Ch    WORD    2400h (verb "TP Started")
  732.  0Eh  6 BYTEs    00h
  733.  14h    DWORD    (big-endian) return code (see #2273)
  734.  18h    WORD    00h
  735.  1Ah  8 BYTEs    (big-endian) logical unit ID
  736.  22h  8 BYTEs    (big-endian) TP ID
  737. --------N-6803--SF2800-----------------------
  738. INT 68 - APPC/PC - GET ALLOCATE
  739.     AH = 03h subfn 2800h
  740.     DS:DX -> control block (see #2305)
  741. Return: control block updated
  742.  
  743. Format of APPC/PC "Get ALLOCATE" control block:
  744. Offset    Size    Description    (Table 2305)
  745.  00h 12 BYTEs    reserved
  746.  0Ch    WORD    2800h (verb "Get ALLOCATE")
  747.  0Eh  6 BYTEs    00h
  748.  14h    DWORD    (big-endian) return code (see #2273)
  749.  18h    WORD    00h
  750.  1Ah  8 BYTEs    (big-endian) logical unit ID
  751.  22h    BYTE    type (00h dequeue, 01h test)
  752.  23h    DWORD    pointer to CREATE_TP record
  753. --------N-6803--SF2A00-----------------------
  754. INT 68 - APPC/PC - CHANGE LOGICAL UNIT
  755.     AH = 03h subfn 2A00h
  756.     DS:DX -> control block (see #2306)
  757. Return: control block updated
  758.  
  759. Format of APPC/PC "Change Logical Unit" control block:
  760. Offset    Size    Description    (Table 2306)
  761.  00h 12 BYTEs    reserved
  762.  0Ch    WORD    2A00h (verb "Change Logical Unit")
  763.  0Eh  6 BYTEs    00h
  764.  14h    DWORD    (big-endian) return code (see #2273)
  765.  18h    WORD    00h
  766.  1Ah  8 BYTEs    (big-endian) logical unit ID
  767.  22h    DWORD    pointer to CREATE_TP_EXIT routine
  768.         00000000h queue ALLOCATEs
  769.         FFFFFFFFh reject incoming ALLOCATEs
  770.  26h    DWORD    00000000h
  771.  2Ah    DWORD    pointer to SYSTEM_LOG_EXIT routine, FFFFFFFFh= don't log errors
  772.  2Eh    DWORD    00000000h
  773.  32h    BYTE    maximum TPs
  774.  33h    BYTE    00h stop QUEUE_ALLOCATEs
  775.         01h resume QUEUE_ALLOCATEs
  776.  34h    DWORD    pointer to LU_LU_PASSWORD_EXIT routine, FFFFFFFFh = no exit
  777.  38h    DWORD    00000000h
  778. --------N-6804-------------------------------
  779. INT 68 - APPC/PC - TRANSACTION PROCESSING
  780.     AH = 04h
  781.     DS:DX -> control block (see #2307)
  782. Return: control block updated
  783.  
  784. Format of APPC/PC control block:
  785. Offset    Size    Description    (Table 2307)
  786.  00h 12 BYTEs    reserved
  787.  0Ch    WORD    verb (action)
  788.         2500h TP_ENDED
  789.         2900h TP_VALID
  790.  0Eh  6 BYTEs    00h
  791.  14h    DWORD    (big-endian) return code (see #2273)
  792.  18h    WORD    00h
  793.  1Ah  8 BYTEs    (big-endian) TP_ID
  794.  22h    DWORD    -> CREATE_TP record (only if verb = 2900h)
  795. --------N-6805-------------------------------
  796. INT 68 - APPC/PC - TRANSFER MESSAGE DATA
  797.     AH = 05h
  798.     DS:DX -> control block (see #2308)
  799. Return: control block updated
  800.  
  801. Format of APPC/PC "Transfer Message Data" control block:
  802. Offset    Size    Description    (Table 2308)
  803.  00h 12 BYTEs    reserved
  804.  0Ch    WORD    1C00h (verb "Transfer Message Data")
  805.  0Eh    BYTE    data type
  806.         00h user defined
  807.         01h NMVT
  808.         02h alert subvectors
  809.         03h PDSTATS subvectors
  810.  0Fh  5 BYTEs    00h
  811.  14h    DWORD    (big-endian) return code (see #2273)
  812.  18h 12 BYTEs    00h
  813.  24h    BYTE    flags (see #2309)
  814.  25h    BYTE    00h
  815.  26h    WORD    length of data
  816.  28h  N BYTEs    data
  817.  
  818. Bitfields for APPC/PC message transfer flags:
  819. Bit(s)    Description    (Table 2309)
  820.  0    don't add correlation subvector
  821.  1    don't add product set ID subvector
  822.  2    don't do SYSLOG
  823.  3    don't send SSCP_PU_SESSION
  824. SeeAlso: #2308
  825. --------N-6806-------------------------------
  826. INT 68 - APPC/PC - CHANGE NUMBER OF SESSIONS
  827.     AH = 06h
  828.     DS:DX -> control block (see #2310)
  829. Return: control block updated
  830.  
  831. Format of APPC/PC "Change Number of Sessions" control block:
  832. Offset    Size    Description    (Table 2310)
  833.  00h 12 BYTEs    reserved
  834.  0Ch    WORD    1500h (verb "Change Number of Sessions")
  835.  0Eh  6 BYTEs    00h
  836.  14h    WORD    (big-endian) primary return code (see #2286)
  837.  16h    DWORD    (big-endian) secondary return code (see #2273,#2311)
  838.  1Ah  8 BYTEs    (big-endian) logical unit ID
  839.  22h  8 BYTEs    blanks
  840.  2Ah  8 BYTEs    (big-endian) partner logical unit name
  841.  32h  8 BYTEs    (big-endian) mode name
  842.  3Ah    BYTE    bit 7: use MODE_NAME_SELECT_ALL rather than MODE_NAME
  843.         bit 6: set negotiable values
  844.  3Bh    BYTE    partner logical unit mode session limit
  845.  3Ch    BYTE    minimum CONWINNERS_SOURCE
  846.  3Dh    BYTE    maximum CONWINNERS_TARGET
  847.  3Eh    BYTE    automatic activation
  848.  3Fh    BYTE    00h
  849.  40h    BYTE    flags
  850.         bit 7: drain target
  851.         bit 6: drain source
  852.         bit 5: target responsible, not source
  853.  
  854. (Table 2311)
  855. Values for secondary return code (see also AH=01h/SF=1B00h):
  856.  0000h    accepted
  857.  0001h    negotiated
  858.  0003h    bad logical unit ID
  859.  0004h    allocation failure, no retry
  860.  0005h    allocation failure, retry
  861.  0151h    can't raise limits
  862.  0153h    all modes must reset
  863.  0154h    bad SNASVCMG limits
  864.  0155h    minimum greater than total
  865.  0156h    mode closed (primary return code = 1)
  866.     CNOS mode closed (primary return code = 18h)
  867.  0157h    bad mode name (primary return code = 1)
  868.     CNOS bad mode name (primary return code = 18h)
  869.  0159h    reset SNA drains
  870.  015Ah    single not SRC response
  871.  015Bh    bad partner logical unit
  872.  015Ch    exceeds maximum allowed
  873.  015Dh    change SRC drains
  874.  015Eh    logical unit detached
  875.  015Fh    CNOS command race reject
  876. --------N-6807-------------------------------
  877. INT 68 - APPC/PC - PASSTHROUGH
  878.     AH = 07h
  879.     DS:DX -> control block (format depends on application subsystem)
  880. Return: control block updated
  881. SeeAlso: AH=FFh
  882. ----------684300-----------------------------
  883. INT 68 U - ??? - INSTALLATION CHECK???
  884.     AX = 4300h
  885. Return: AX = F386h if ???
  886.     ???
  887. Note:    called by Novell DOS 7.0 EMM386.EXE
  888. SeeAlso: AX=4400h,INT 41/AX=004Fh
  889. ----------684400-----------------------------
  890. INT 68 U - ???
  891.     AX = 4400h
  892.     BX = ???
  893.     CX = ???
  894.     DX = ???
  895.     DS:SI = real-mode address of protected-mode GDT
  896.     ES:DI = real-mode address of protected-mode IDT
  897. Return: ???
  898. Note:    called by Novell DOS 7.0 EMM386.EXE if AX=4300h returns AX=F386h
  899. SeeAlso: AX=4300h
  900. ----------6847-------------------------------
  901. INT 68 - MS Windows debugging kernel - OUTPUT STRING
  902.     AH = 47h
  903.     ES:SI -> string
  904. Notes:    output a string (to inform a debugger of some events)
  905.     KERNEL outputs "Windows Kernel Entry\r\n" on startup
  906. SeeAlso: INT 41/AX=0012h
  907. --------N-68FA-------------------------------
  908. INT 68 - APPC/PC - ENABLE/DISABLE APPC
  909.     AH = FAh
  910.     AL bit 0 = new state (0 enable, 1 disable)
  911. SeeAlso: AH=FDh,INT 68"Novell"
  912. --------N-68FB-------------------------------
  913. INT 68 - APPC/PC - CONVERT
  914.     AH = FBh
  915.     DS:DX -> control block (see #2312)
  916. Return: control block updated
  917.  
  918. Format of APPC/PC "CONVERT" control block:
  919. Offset    Size    Description    (Table 2312)
  920.  00h 12 BYTEs    reserved
  921.  0Ch    WORD    1A00h (verb "CONVERT")
  922.  0Eh  6 BYTEs    00h
  923.  14h    DWORD    (big-endian) return code
  924.  18h    BYTE    conversion
  925.         00h ASCII to EBCDIC
  926.         01h EBCDIC to ASCII
  927.  19h    BYTE    character set
  928.         00h AE
  929.         01h A
  930.         02h G
  931.  1Ah    WORD    length of string to convert
  932.  1Ch    DWORD    pointer to source
  933.  20h    DWORD    pointer to target
  934. --------N-68FC-------------------------------
  935. INT 68 - APPC/PC - ENABLE/DISABLE MESSAGE TRACING
  936.     AH = FCh
  937.     AL = new state
  938.         00h disable tracing
  939.         01h enable tracing
  940.         DX = number of bytes to keep (0=all)
  941. SeeAlso: AH=FDh,AH=FEh
  942. --------N-68FD-------------------------------
  943. INT 68 - APPC/PC - ENABLE/DISABLE API VERB TRACING
  944.     AH = FDh
  945.     AL = new tracing state (00h disabled, 01h enabled)
  946. SeeAlso: AH=FAh,AH=FCh,AH=FEh
  947. --------N-68FE-------------------------------
  948. INT 68 - APPC/PC - SET TRACE DESTINATION
  949.     AH = FEh
  950.     AL = trace destinations (see #2313)
  951.     DS:DX -> trace stats record if AL bit 0 set (see #2314)
  952. SeeAlso: AH=FCh,AH=FDh
  953.  
  954. Bitfields for trace destinations:
  955. Bit(s)    Description    (Table 2313)
  956.  0    storage (DS:DX -> trace stats record)
  957.  1    display
  958.  2    file (trace written to file OUTPUT.PC)
  959.  3    printer
  960.  
  961. Format of APPC/PC Trace Statistics Record:
  962. Offset    Size    Description    (Table 2314)
  963.  00h    DWORD    pointer to storage trace buffer
  964.  04h    WORD    max number of 80-byte records in trace
  965.  06h    WORD    (high-order byte first!) current record number (must init to 0)
  966.  08h    DWORD    (high-order byte first!) number of records written (init to 0)
  967.  0Ch    DWORD    reserved
  968. Note:    do not move record while trace is active
  969. --------N-68FF-------------------------------
  970. INT 68 - APPC/PC - SET PASSTHROUGH
  971.     AH = FFh
  972.     DS:DX -> passthrough exit routine
  973. SeeAlso: AH=07h,INT 68"Novell"
  974. --------b-69---------------------------------
  975. INT 69 - Zenith AT BIOS - ???
  976. Note:    called by INT 09 handler
  977. --------h-69---------------------------------
  978. INT 69 C - HP Vectra AT - IRQ17 - KEYBOARD OUTPUT-BUFFER-FULL SERVICE ROUTINE
  979. SeeAlso: INT 09"IRQ1",INT 68"HP Vectra",INT 6A"HP Vectra"
  980. --------N-690100-----------------------------
  981. INT 69 - DECnet DOS CTERM - INSTALLATION CHECK
  982.     AX = 0100h
  983. Return: AL = FFh if present
  984. SeeAlso: AX=010Fh
  985. --------N-690101-----------------------------
  986. INT 69 - DECnet DOS CTERM - SEND BYTE
  987.     AX = 0101h
  988.     BL = character
  989.     DX = session handle
  990. Return: AH >= 80h on error
  991. SeeAlso: AX=0102h
  992. --------N-690102-----------------------------
  993. INT 69 - DECnet DOS CTERM - READ BYTE
  994.     AX = 0102h
  995.     DX = session handle
  996. Return: AH >= 80h on error
  997.     AH < 80h if successful
  998.         AL = character
  999. SeeAlso: AX=0101h
  1000. --------N-690103-----------------------------
  1001. INT 69 - DECnet DOS CTERM - STATUS
  1002.     AX = 0103h
  1003.     DX = session handle
  1004. Return: AH status flags (see #2315)
  1005.     AL = reason code if DECnet error (see #2316)
  1006. SeeAlso: AX=0104h
  1007.  
  1008. Bitfields for DECnet DOS CTERM status flags:
  1009. Bit(s)    Description    (Table 2315)
  1010.  7    session has been aborted
  1011.  6    DECnet error
  1012.  1    trace data available
  1013.  0    receive data available
  1014.  
  1015. (Table 2316)
  1016. Values for reason code:
  1017.  00h    normal disconnect
  1018.  01h    unknown message from host
  1019.  02h    protocol violation from host
  1020.  03h    could not process the initiate message
  1021.  04h    error receiving message from host
  1022.  05h    error sending message to host
  1023.  06h    error checking for message from host
  1024.  07h    remote system does not support CTERM
  1025.  08h    remote system does not support correct protocol version
  1026.  09h    did not receive BIND message from host
  1027.  0Ah    could not send BIND message to host
  1028.  0Bh    no more sessions available
  1029.  0Ch    session does not exist
  1030.  0Dh    not enough memory to complete operation
  1031.  0Eh    connection has broken
  1032. Index:    error codes;DECnet DOS CTERM|DECnet DOS CTERM;error codes
  1033. --------N-690104-----------------------------
  1034. INT 69 - DECnet DOS CTERM - DECnet STATUS
  1035.     AX = 0104h
  1036.     DX = session handle
  1037. Return: AX = reason code (see #2316)
  1038. Note:    use this call when AX=0103h returns a DECnet error
  1039. SeeAlso: AX=0103h
  1040. --------N-690105-----------------------------
  1041. INT 69 - DECnet DOS CTERM - OPEN SESSION
  1042.     AX = 0105h
  1043.     DS:BX -> ASCIZ node name
  1044.     ES:DX -> buffer for session control block (see #2332 at INT 6A/AH=D0h)
  1045. Return: AX <= 0 on error
  1046.     AX > 0 session handle
  1047. SeeAlso: AX=0103h,AX=0106h,AX=010Ah
  1048. --------N-690106-----------------------------
  1049. INT 69 - DECnet DOS CTERM - CLOSE SESSION
  1050.     AX = 0106h
  1051.     DX = session handle
  1052. Return: AH = status
  1053.         00h good close
  1054.         other error code (see #2316)
  1055. SeeAlso: AX=0103h,AX=0105h
  1056. --------N-69010A-----------------------------
  1057. INT 69 - DECnet DOS CTERM - GET SESSION CONTROL BLOCK SIZE
  1058.     AX = 010Ah
  1059. Return: AX = length of session control block in bytes
  1060. SeeAlso: AX=0105h
  1061. --------N-69010B-----------------------------
  1062. INT 69 - DECnet DOS CTERM - GET DECnet SOCKET
  1063.     AX = 010Bh
  1064.     DX = session handle
  1065. Return: AX > 0    DECnet socket for the session
  1066.     AX = 0    no match for handle
  1067. --------N-69010F-----------------------------
  1068. INT 69 - DECnet DOS CTERM - DEINSTALL CTERM
  1069.     AX = 010Fh
  1070. Return: AH = status
  1071.         00h successful uninstall
  1072.         other error code (see #2316)
  1073. Note:    CTERM must have been the last TSR loaded in order to deinstall it
  1074. SeeAlso: AX=0100h
  1075. Index:    uninstall;DECnet DOS CTERM
  1076. --------N-690A-------------------------------
  1077. INT 69 - DECnet DOS 2.1+ - DATA LINK LAYER
  1078.     AH = 0Ah
  1079.     AL = function number (see #2317)
  1080.     ES:BX -> Datalink Communication Block (see #2319)
  1081. Return: AX = status (see #2318)
  1082. SeeAlso: INT 6D"DECnet"
  1083.  
  1084. (Table 2317)
  1085. Values for DECnet DOS Data Link Layer function:
  1086.  00h    initialize
  1087.  01h    open portal
  1088.  02h    close portal
  1089.  03h    enable multicast address
  1090.  04h    disable multicast address
  1091.  05h    transmit
  1092.  06h    request transmit buffer
  1093.  07h    deallocate transmit buffer
  1094.  08h    read channel status
  1095.  09h    read datalink portal list
  1096.  0Ah    read information about a datalink portal
  1097.  0Bh    read and/or clear counters
  1098.  0Ch    request to boot from a network server
  1099.  0Dh    enable Ethernet channel
  1100.  0Eh    disable Ethernet channel
  1101.  0Fh    start MOP/send a System ID message
  1102.  10h    stop MOP
  1103.  11h    get DECPARM
  1104.  12h    set DECPARM
  1105.  13h    external loopback
  1106.  
  1107. (Table 2318)
  1108. Values for DECnet DOS Data Link Layer status:
  1109.  00h    successful
  1110.  01h    hardware failed to initialize
  1111.  02h    channel state was not off (must be off to execute that command)
  1112.  03h    channel state is off (must be on to execute that command)
  1113.  04h    address not set
  1114.  05h    hardware missing
  1115.  06h    buffer too small
  1116.  07h    no more buffers available
  1117.  08h    no more resources available
  1118.  09h    promiscuous receiver active
  1119.  0Ah    non exclusive
  1120.  0Bh    unrecognized portal
  1121.  0Ch    protocol type in use
  1122.  0Dh    not a valid Multicast address
  1123.  0Eh    outstanding calls
  1124.  0Fh    hardware doesn't support receiving bad frames
  1125.  10h    none outstanding
  1126.  11h    no events
  1127.  12h    broken
  1128.  13h    buffer quota exceeded
  1129.  14h    already initialized
  1130.  15h    loopback failure
  1131. Index:    error codes;DECnet DOS|DECnet DOS;error codes
  1132.  
  1133. Format of Datalink Communication Block:
  1134. Offset    Size    Description    (Table 2319)
  1135.  00h    WORD    portal ID
  1136.  02h  6 BYTEs    source address
  1137.  08h  6 BYTEs    destination address
  1138.  0Eh    DWORD    buffer pointer
  1139.  12h    WORD    buffer length
  1140.  14h    WORD    operation
  1141.  16h    BYTE    pad flag (used on open)
  1142.         00h no pad
  1143.         01h pad
  1144.  17h    BYTE    mode flag (used on open)
  1145.         00h 802.3
  1146.         01h Ethernet
  1147.         02h promiscuous
  1148.  18h    DWORD    line status change function
  1149.  1Ch    DWORD    received data function
  1150.  20h    DWORD    transmitted data function
  1151.  24h    BYTE    maximum outstanding transmits/receives
  1152.  25h  2 BYTEs    protocol type
  1153.  27h    WORD    buffers lost
  1154. --------N-694001-----------------------------
  1155. INT 69 - 10NET v5.0 - SYSSVC.COM - ???
  1156.     AX = 4001h
  1157. Return: CF clear
  1158.     AX = 0000h
  1159.     ES:SI -> ???
  1160. Range:    INT 60 to INT 7F, selected by configuration
  1161. Note:    the signature "SYSV" immediately before the interrupt handler serves
  1162.       as the installation check
  1163. SeeAlso: AX=4002h
  1164. Index:    installation check;10NET SYSSVC
  1165. --------N-694002-----------------------------
  1166. INT 69 - 10NET v5.0 - SYSSVC.COM - ???
  1167.     AX = 4002h
  1168.     ???
  1169. Return: ???
  1170. Range:    INT 60 to INT 7F, selected by configuration
  1171. Note:    the signature "SYSV" immediately before the interrupt handler serves
  1172.       as the installation check
  1173. --------N-694101-----------------------------
  1174. INT 69 - 10NET v5.0 - SYSSVC.COM - ???
  1175.     AX = 4101h
  1176. Return: CF clear
  1177.     ES:SI -> ???
  1178. Range:    INT 60 to INT 7F, selected by configuration
  1179. SeeAlso: AX=4102h,AX=4103h,AX=4104h
  1180. --------N-694102-----------------------------
  1181. INT 69 - 10NET v5.0 - SYSSVC.COM - ???
  1182.     AX = 4102h
  1183.     ???
  1184. Return: ???
  1185. --------N-694103-----------------------------
  1186. INT 69 - 10NET v5.0 - SYSSVC.COM - ???
  1187.     AX = 4103h
  1188.     ???
  1189. Return: ???
  1190. --------N-694104-----------------------------
  1191. INT 69 - 10NET v5.0 - SYSSVC.COM - ???
  1192.     AX = 4104h
  1193.     ???
  1194. Return: ???
  1195. --------N-6942-------------------------------
  1196. INT 69 - 10NET v5.0 - SYSSVC.COM - ???
  1197.     AH = 42h
  1198.     AL = function (01h-14h)
  1199.     ???
  1200. Return: ???
  1201. Range:    INT 60 to INT 7F, selected by configuration
  1202. --------N-6943-------------------------------
  1203. INT 69 - 10NET v5.0 - SYSSVC.COM - ???
  1204.     AH = 43h
  1205.     AL = function (01h-05h)
  1206.     ???
  1207. Return: ???
  1208. --------N-6944-------------------------------
  1209. INT 69 - 10NET v5.0 - SYSSVC.COM - ???
  1210.     AH = 44h
  1211.     AL = function (01h-03h)
  1212.     ???
  1213. Return: ???
  1214. Range:    INT 60 to INT 7F, selected by configuration
  1215. --------N-6949-------------------------------
  1216. INT 69 - 10NET v5.0 - SYSSVC.COM - BUG
  1217.     AH = 49h
  1218. Note:    due to a fencepost error, this function branches to hyperspace
  1219. SeeAlso: AX=4001h,AH=FFh
  1220. --------G-696996-----------------------------
  1221. INT 69 - ISR.COM v1.00 - SPECIFY INTERRUPT HANDLER
  1222.     AX = 6996h
  1223.     DS:DX -> interrupt handler or 0000h:0000h to disable
  1224. Return: AX = 9669h
  1225. Program: ISR (Interrupt Service Reflector) is a TSR by Rich Bono which permits
  1226.       a program to provide hardware interrupt handlers even while being
  1227.       debugged with a debugger that swaps interrupt vectors during
  1228.       debugging.
  1229. Note:    the interrupt vector which is to be reflected is set at installation
  1230.       time and cannot be changed
  1231. --------N-69FF-------------------------------
  1232. INT 69 - 10NET v5.0 - SYSSVC.COM - SIGNAL SYSTEM ERROR
  1233.     AH = FFh
  1234. Return: never???
  1235. Desc:    displays "System Error" message and register dump, then halts system
  1236. Range:    INT 60 to INT 7F, selected by configuration
  1237. Notes:    the signature "SYSV" immediately before the interrupt handler serves
  1238.       as the installation check
  1239. SeeAlso: AX=4001h,AH=49h
  1240. --------U-6A---------------------------------
  1241. INT 6A - OPTHELP.COM
  1242. Program: OPTHELP is an optionally-resident help system for SLR Systems's OPTASM
  1243.       assembler
  1244. Range:    INT 60h to INT 7Fh, selected by configuration
  1245. --------N-6A---------------------------------
  1246. INT 6A - DECnet DOS - LOCAL AREA TRANSPORT PROGRAM
  1247. Note:    the installation check consists of testing for a signature area
  1248.       immediately preceding the interrupt handler (see #2320)
  1249. SeeAlso: AH=01h/DH=FFh,INT 6B"DECnet",INT 6D"DECnet"
  1250. Index:    installation check;DECnet DOS Local Area Transport
  1251.  
  1252. Format of DECnet DOS signature area:
  1253. Offset    Size    Description    (Table 2320)
  1254.  -5    BYTE    major version number
  1255.  -4    BYTE    minor version number
  1256.  -3   3 BYTEs    signature (ASCII "LAT")
  1257. --------h-6A---------------------------------
  1258. INT 6A C - HP Vectra AT - IRQ18 - RESERVED HARDWARE INTERRUPT
  1259. SeeAlso: INT 0A"IRQ0",INT 69"HP Vectra",INT 6B"HP Vectra"
  1260. --------N-6A0000-----------------------------
  1261. INT 6A U - Super-TCP DOS TSR Kernel v3.57 - INSTALLATION CHECK
  1262.     AX = 0000h
  1263. Return: AX = 4357h ('CW')
  1264. Program: Super-TCP is a TCP/IP protocol stack by Frontier Technologies Corp.
  1265. Note:    an alternate installation check is to test for the ASCIZ signature
  1266.       "FTC Super-TCP" three bytes past the interrupt handler
  1267. SeeAlso: AX=0001h,AX=0002h,AX=000Fh,AX=0010h,INT 21/AH=3Fh"BW-TCP"
  1268. SeeAlso: INT 61"PCTCP",INT 62/AH=00h"ETHDEV"
  1269. --------N-6A0001-----------------------------
  1270. INT 6A U - Super-TCP DOS TSR Kernel v3.57 - ???
  1271.     AX = 0001h
  1272.     BH = function number
  1273.         01h ???
  1274.         DS:SI -> ??? 24-byte record1 (see #2322)
  1275.         ES:DI -> buffer containing ???
  1276.         02h ???
  1277.         DS:SI -> ??? 18-byte record2 (see #2323)
  1278.         ES:DI -> buffer containing ???
  1279.         04h ???
  1280.         BL = subfunction
  1281.             01h
  1282.             DS:SI -> ??? 28-byte record3 (see #2324)
  1283.             ES:DI -> buffer containing ???
  1284.             02h
  1285.             DS:SI -> ??? 28-byte record3 (see #2324)
  1286.             ES:DI -> buffer containing ???
  1287.             03h
  1288.             DS:SI -> ??? 28-byte record3 (see #2324)
  1289.             else Return: AX = 0005h
  1290.         05h ???
  1291.         DS:SI -> ??? 20-byte record4 (see #2325)
  1292.         ES:DI -> buffer containing ???
  1293.         06h ???
  1294.         BL = subfunction
  1295.             01h
  1296.             DS:SI -> ??? 40-byte record5 (see #2326)
  1297.             02h
  1298.             DS:SI -> ??? 20-byte record6 (see #2327)
  1299.             ES:DI -> ???
  1300.             03h
  1301.             DS:SI -> ??? 20-byte record6 (see #2327)
  1302.             04h
  1303.             DS:SI -> ??? 46-byte record7 (see #2328)
  1304.             else Return: AX = 0005h
  1305.         11h ???
  1306.         DS:SI -> ??? 28-byte record8 (see #2329)
  1307.         ES:DI -> ???
  1308. Return: AX = function status (see #2321)
  1309. SeeAlso: AX=0000h
  1310.  
  1311. (Table 2321)
  1312. Values for Super-TCP function status:
  1313.  0000h    successful
  1314.  0005h    unsupported function
  1315.  000Ah    out of memory
  1316.  
  1317. Format of record1:
  1318. Offset    Size    Description    (Table 2322)
  1319.  00h  4 BYTEs    ???
  1320.  04h    WORD    size of ES:DI buffer
  1321.  06h 18 BYTEs    ???
  1322.  
  1323. Format of record2:
  1324. Offset    Size    Description    (Table 2323)
  1325.  00h  4 BYTEs    ???
  1326.  04h    WORD    size of ES:DI buffer
  1327.  06h 12 BYTEs    ???
  1328.  
  1329. Format of record3:
  1330. Offset    Size    Description    (Table 2324)
  1331.  00h  2 BYTEs    ???
  1332.  02h    WORD    ???
  1333.  04h    WORD    size of ES:DI buffer
  1334.  06h    WORD    ???
  1335.  08h    WORD    operation number (for function 0401h)
  1336.  0Ah    DWORD    -> ???
  1337.  0Eh    WORD    (ret) ???
  1338.  10h 12 BYTEs    ???
  1339.  
  1340. Format of record4:
  1341. Offset    Size    Description    (Table 2325)
  1342.  00h  4 BYTEs    ???
  1343.  04h    WORD    size of ES:DI buffer
  1344.  06h 14 BYTEs    ???
  1345.  
  1346. Format of record5:
  1347. Offset    Size    Description    (Table 2326)
  1348.  00h    BYTE    operation??? (00h-07h)
  1349.  01h    BYTE    ???
  1350.  02h    WORD    (ret) ???
  1351.  04h    DWORD    -> ???
  1352.  08h  4 BYTEs    ???
  1353.  0Ch    DWORD    -> ??? or 0000h:0000h
  1354.  10h 16 BYTEs    ???
  1355.  20h    DWORD    ???
  1356.  24h  4 BYTEs    ???
  1357.  
  1358. Format of record6:
  1359. Offset    Size    Description    (Table 2327)
  1360.  00h  4 BYTEs    ???
  1361.  04h    WORD    size of ES:DI buffer
  1362.  06h 14 BYTEs    ???
  1363.  
  1364. Format of record7:
  1365. Offset    Size    Description    (Table 2328)
  1366.  00h    WORD    ???
  1367.  02h    WORD    ???
  1368.  04h    WORD    ???
  1369.  06h 40 BYTEs    ???
  1370.  
  1371. Format of record8:
  1372. Offset    Size    Description    (Table 2329)
  1373.  00h  4 BYTEs    ???
  1374.  04h    WORD    size of ES:DI buffer
  1375.  06h  6 BYTEs    ???
  1376.  0Ch    WORD    (ret) ???
  1377.  0Eh    WORD    operation??? (01h-03h)
  1378.  10h 12 BYTEs    ???
  1379. --------N-6A0002-----------------------------
  1380. INT 6A U - Super-TCP DOS TSR Kernel v3.57 - ???
  1381.     AX = 0002h
  1382.     BX = ??? (zero/nonzero)
  1383.     CX = ??? identifier (see AX=0004h)
  1384.     DS:SI -> 40-byte buffer for ??? or 0000h:0000h
  1385.     ES:DI -> buffer for ??? or 0000h:0000h
  1386. Return: AX = 0000h (successful) ???
  1387.     BL = ???
  1388.     BH = ???
  1389.     CX = ???
  1390.     DX = ???
  1391. --------N-6A0003-----------------------------
  1392. INT 6A U - Super-TCP DOS TSR Kernel v3.57 - GET ??? DATA AREA
  1393.     AX = 0003h
  1394. Return: CX:DX -> data area (see #2330)
  1395.  
  1396. Format of Super-TCP data area:
  1397. Offset    Size    Description    (Table 2330)
  1398.  00h  2 BYTEs    ???
  1399.  02h    DWORD    original INT 6A vector
  1400.  06h  2 BYTEs    ???
  1401.  08h 96 BYTEs    array of 16 6-byte ???
  1402.  68h    WORD    number of elements of above array in use
  1403.  6Ah    WORD    ???
  1404.     ???
  1405. --------N-6A0004-----------------------------
  1406. INT 6A U - Super-TCP DOS TSR Kernel v3.57 - ALLOCATE ???
  1407.     AX = 0004h
  1408.     CX = size in ???
  1409. Return: AX = 0000h (successful)
  1410.     CX = DX = ???
  1411. SeeAlso: AX=0005h,AX=000Fh
  1412. --------N-6A0005-----------------------------
  1413. INT 6A U - Super-TCP DOS TSR Kernel v3.57 - FREE/CLOSE ???
  1414.     AX = 0005h
  1415.     CX = ??? identifier (from AX=0004h)
  1416. Return: AX = status (0000h successful, FFFFh failed)
  1417. SeeAlso: AX=0004h,AX=000Fh
  1418. --------N-6A000F-----------------------------
  1419. INT 6A U - Super-TCP DOS TSR Kernel v3.57 - FREE/CLOSE ALL ???
  1420.     AX = 000Fh
  1421. Return: AX = 0000h (successful)
  1422. SeeAlso: AX=0000h,AX=0004h,AX=0005h
  1423. --------N-6A0010-----------------------------
  1424. INT 6A U - Super-TCP DOS TSR Kernel v3.57 - UNINSTALL
  1425.     AX = 0010h
  1426. Return: AX = status
  1427.         0000h successful
  1428.         0002h can't uninstall, interrupt vector hooked by another program
  1429. Program: Super-TCP is a TCP/IP protocol stack by Frontier Technologies Corp.
  1430. Note:    if AX is not one of the values listed here on entry, Super-TCP
  1431.       returns AX=FFFEh
  1432. SeeAlso: AX=0000h
  1433. --------N-6A01--DHFF-------------------------
  1434. INT 6A - DECnet DOS LOCAL AREA TRANSPORT - SEND BYTE
  1435.     AH = 01h
  1436.     DH = FFh
  1437.     AL = character
  1438.     DL = handle
  1439. Return: AH >= 80h on error
  1440. SeeAlso: AH=02h
  1441. --------N-6A02--DHFF-------------------------
  1442. INT 6A - DECnet DOS LOCAL AREA TRANSPORT - READ BYTE
  1443.     AH = 02h
  1444.     DH = FFh
  1445.     DL = handle
  1446. Return: AH < 80h if successful
  1447.         AL = character
  1448.     AH >= 80h on error
  1449. SeeAlso: AH=01h
  1450. --------N-6A03--DHFF-------------------------
  1451. INT 6A - DECnet DOS LOCAL AREA TRANSPORT - STATUS
  1452.     AH = 03h
  1453.     DH = FFh
  1454.     DL = handle
  1455. Return: AH = status flags (see #2331)
  1456.  
  1457. Bitfields for DECnet DOS LAT status flags:
  1458. Bit(s)    Description    (Table 2331)
  1459.  5    transmit buffer empty
  1460.  3    session in start state
  1461.  2    session not active
  1462.  1    unable to queue transmit data
  1463.  0    receive data available
  1464. --------N-6AD0--DHFF-------------------------
  1465. INT 6A - DECnet DOS LOCAL AREA TRANSPORT - OPEN SESSION
  1466.     AH = D0h
  1467.     DH = FFh
  1468.     AL = password flag
  1469.         FFh no password
  1470.         0Fh password at ES:DI
  1471.     ES:BX -> LAT session control block (see #2332)
  1472.     ES:DI -> 16-byte blank-padded password (optional)
  1473. Return: AH = 00h success
  1474.         DL = handle
  1475. SeeAlso: AX=D000h
  1476.  
  1477. Format of LAT Session Control Block:
  1478. Offset    Size    Description    (Table 2332)
  1479.  00h 18 BYTEs    service name
  1480.  12h 18 BYTEs    node name (future use)
  1481.  24h 18 BYTEs    port name (future use)
  1482.  36h    DWORD    -> session stopped post routine
  1483.  3Ah    DWORD    -> service table overflow post routine
  1484.  3Eh    DWORD    -> transmit post routine
  1485.  42h    DWORD    -> receive post routine
  1486.  46h    WORD    session status
  1487.         04h circuit failure
  1488.         08h stop slot received
  1489. ---LAT v???---
  1490.  48h    WORD    slot state (LAT driver use)
  1491.  4Ah    WORD    local credits (LAT driver use)
  1492.  4Ch    DWORD    -> VCB (LAT driver use)
  1493.  50h    WORD    backward slot (LAT driver use)
  1494.  52h    WORD    forward slot (LAT driver use)
  1495.  54h    WORD    remote slot ID (LAT driver use)
  1496.  56h    WORD    local slot ID (LAT driver use)
  1497.  58h    WORD    slot byte count (LAT driver use)
  1498.  5Ah    BYTE    remote credits (LAT driver use)
  1499.  5Bh 255 BYTEs    transmitted data slot
  1500. 15Ah    BYTE    number of receive data slots (4 recommended)
  1501. 15Bh    BYTE    number of occupied slots
  1502. 15Ch    BYTE    index of next receive slot to use
  1503. 15Dh    BYTE    index of current receive slot
  1504. 15Eh    WORD    pointer to first received character
  1505. 160h  N WORDs    pointers to receive slots (buffers); each is 259 bytes
  1506.      259N BYTEs    buffers
  1507. Note:    set post routines to 0000h:0000h if polled operation will be used
  1508. ---LAT v4.1.17---
  1509.  48h    WORD    session state (LAT driver use)
  1510.  4Ah    BYTE    local credits (LAT driver use)
  1511.  4Bh    DWORD    -> VCB (LAT driver use)
  1512.  4Fh    WORD    backward slot (LAT driver use)
  1513.  51h    WORD    forward slot (LAT driver use)
  1514.  53h    BYTE    remote slot ID (LAT driver use)
  1515.  54h    BYTE    local slot ID (LAT driver use)
  1516.  55h    BYTE    slot byte count (LAT driver use)
  1517.  56h    BYTE    remote credits (LAT driver use)
  1518.  57h 255 BYTEs    transmitted data slot
  1519. 156h    BYTE    number of receive data slots (4 recommended)
  1520. 157h    BYTE    number of occupied slots
  1521. 158h    BYTE    index of next receive slot to use
  1522. 159h    BYTE    index of current receive slot
  1523. 15Ah    WORD    pointer to first received character
  1524. 15Ch  N WORDs    pointers to receive slots (buffers); each is 259 bytes
  1525.      259N BYTEs    buffers
  1526. Note:    set post routines to 0000h:0000h if polled operation will be used
  1527. --------N-6AD000DHFF-------------------------
  1528. INT 6A - DECnet DOS LOCAL AREA TRANSPORT - CLOSE SESSION
  1529.     AX = D000h
  1530.     DH = FFh
  1531.     DL = handle
  1532. Return: AX = status (see #2333)
  1533. SeeAlso: AH=D0h
  1534.  
  1535. (Table 2333)
  1536. Values for DECnet DOS LAT function status:
  1537.  0000h    successful
  1538.  0001h    no such session
  1539.  0002h    session not running, try again later
  1540. --------N-6AD100DHFF-------------------------
  1541. INT 6A - DECnet DOS LOCAL AREA TRANSPORT - SEND BREAK
  1542.     AX = D100h
  1543.     DH = FFh
  1544.     DL = handle
  1545. Return: AX = 0000h if successful
  1546.     AH bit 7 set if unable to send break
  1547. --------N-6AD300DHFF-------------------------
  1548. INT 6A - DECnet DOS LOCAL AREA TRANSPORT - RESET LAT COUNTERS
  1549.     AX = D300h
  1550.     DH = FFh
  1551. SeeAlso: AX=D400h
  1552. --------N-6AD400DHFF-------------------------
  1553. INT 6A - DECnet DOS LOCAL AREA TRANSPORT - COPY LAT COUNTERS
  1554.     AX = D400h
  1555.     DH = FFh
  1556.     CX = buffer size
  1557.     ES:BX -> buffer for LAT counters
  1558. Return: AX = status
  1559.         0000h counters copied into buffer
  1560.         FFFFh buffer too small
  1561. SeeAlso: AX=D300h
  1562. --------N-6AD500DHFF-------------------------
  1563. INT 6A - DECnet DOS LOCAL AREA TRANSPORT - GET NEXT LAT SERVICE NAME
  1564.     AX = D500h
  1565.     DH = FFh
  1566.     ES:BX -> 17-byte buffer for name
  1567. Return: AH = 00h if successful
  1568.        ES:BX buffer filled
  1569.     AX = FFFFh if end of table or no name available
  1570. Notes:    use this function to get the names of the hosts on the network
  1571.     successive calls are necessary to get all names
  1572. SeeAlso: AX=D600h
  1573. --------N-6AD600DHFF-------------------------
  1574. INT 6A - DECnet DOS LOCAL AREA TRANSPORT - LAT SERVICE TABLE RESET
  1575.     AX = D600h
  1576.     DH = FFh
  1577. Return: AX = number of service table entries
  1578.     BX = status
  1579.         0000h service table has not overflowed
  1580.         FFFFh service table has overflowed
  1581. SeeAlso: AX=D500h
  1582. --------N-6B---------------------------------
  1583. INT 6B - DECnet DOS - PORT DRIVER
  1584. Note:    the installation check consists of testing for a signature area
  1585.       (see #2334) immediately preceding the interrupt handler
  1586. SeeAlso: INT 6A"DECnet",INT 6C"DECnet"
  1587. Index:    installation check;DECnet DOS Port Driver
  1588.  
  1589. Format of DECnet DOS signature area:
  1590. Offset    Size    Description    (Table 2334)
  1591.  -5    BYTE    major version number
  1592.  -4    BYTE    minor version number
  1593.  -3   3 BYTEs    signature (ASCII "PDV")
  1594. --------v-6B---------------------------------
  1595. INT 6B - VIRUS - "Saddam" - ORIGINAL INT 21h VECTOR
  1596. SeeAlso: INT 21/AX=FFFFh,INT 61"VIRUS",INT 70"VIRUS"
  1597. --------h-6B---------------------------------
  1598. INT 6B C - HP Vectra AT - IRQ19 - RESERVED HARDWARE INTERRUPT
  1599. SeeAlso: INT 0B"IRQ0",INT 6A"HP Vectra",INT 6C"HP Vectra"
  1600. --------S-6B0000-----------------------------
  1601. INT 6B - Novell NASI/NACS, Ungermann-Bass Net One SERIAL I/O - BUFFERED WRITE
  1602.     AX = 0000h
  1603.     CX = length
  1604.     ES:BX -> buffer
  1605. Return: CX = number of bytes written
  1606. Program: NASI is Novell's NetWare Asynchronous Services Interface (purchased
  1607.       from Network Products Corp, who call it NCSI) which runs on
  1608.       workstations; NACS is the NetWare Asynchronous Communications
  1609.       Services module which runs on servers
  1610. Notes:    the installation check consists of testing for the signature string
  1611.       "NCSI" three bytes past the interrupt handler; see also AH=02h.
  1612.       As of version 3.0, Novell's NASI can be distinguished from NPC's
  1613.       NCSI by the presence of an 'A' immediately following the signature
  1614.     this function is also supported by TelAPI, NPC NCSI, and Connection
  1615.       Manager CLIENT.EXE; for TelAPI, nonzero values in AL specify a
  1616.       connection ID
  1617.     Connection Manager returns CF set/AL=FFh if called while an INT 6B
  1618.       call is already in progress
  1619. SeeAlso: AX=0100h,AH=18h,INT 14/AH=19h,INT 14/AH=E3h
  1620. --------S-6B0100-----------------------------
  1621. INT 6B - Novell NASI/NACS, Ungermann-Bass Net One SERIAL I/O - BUFFERED READ
  1622.     AX = 0100h
  1623.     CX = length of buffer
  1624.     ES:BX -> buffer
  1625. Return: CX = number of bytes read
  1626. Note:    also supported by TelAPI and NPC NCSI; for TelAPI, nonzero values in
  1627.       AL specify a connection ID
  1628. SeeAlso: AX=0000h,AH=19h,INT 14/AH=18h,INT 14/AH=E2h,INT 14/AX=FF02h
  1629. --------S-6B02-------------------------------
  1630. INT 6B - Novell NASI/NACS, Ungermann-Bass Net One SERIAL I/O - INSTALL CHECK
  1631.     AH = 02h
  1632.     AL nonzero
  1633. Return: AL = 00h if present and OK
  1634. Note:    this function is also supported by TelAPI and NPC NCSI
  1635. SeeAlso: AX=0700h
  1636. --------S-6B0600-----------------------------
  1637. INT 6B - Novell NASI/NACS, Ungermann-Bass Net One SERIAL I/O - CONTROL
  1638.     AX = 0600h
  1639.     CX = command
  1640.         02h send break
  1641.         04h disconnect
  1642.         06h hold
  1643. Return: CF clear if successful
  1644.         AL = 00h
  1645.     CF set on error
  1646.         AX < 0
  1647. Note:    this function is also supported by TelAPI and NPC NCSI
  1648. --------S-6B0700-----------------------------
  1649. INT 6B - Novell NASI/NACS, Ungermann-Bass Net One SERIAL I/O - GET STATUS
  1650.     AX = 0700h
  1651. Return: CH <> 00h if connection active
  1652. Notes:    this function is also supported by TelAPI and NPC NCSI
  1653.     Novell TelAPI returns CX=FF01h and CF clear
  1654. SeeAlso: AH=02h,AH=10h
  1655. --------N-6B08-------------------------------
  1656. INT 6B - TelAPI - ???
  1657.     AH = 08h
  1658. Return: CF clear
  1659.         AL = 00h
  1660.         CX = 0000h
  1661. Note:    this function also clears ??? flag
  1662. SeeAlso: INT 14/AX=FF00h
  1663. --------S-6B10-------------------------------
  1664. INT 6B - NPC NCSI EXTENDED SERIAL I/O - GET STATUS
  1665.     AH = 10h
  1666.     AL = connection ID (Novell TELAPI.EXE)
  1667.     CX = ???
  1668. Return: CF clear if successful
  1669.         CL = ???
  1670.         CH = ???
  1671.     CF set on error
  1672.     ???
  1673. Notes:    this function is also supported by TelAPI
  1674.     when shelled out to an external protocol from Novell NASI, the circuit
  1675.       whose status indicates that it is connected is the currently active
  1676.       circuit
  1677. SeeAlso: AX=0700h,AH=12h,AH=1Fh
  1678. --------S-6B11--DX0001-----------------------
  1679. INT 6B - NPC NCSI EXTENDED SERIAL I/O - ALLOCATE A VIRTUAL CIRCUIT
  1680.     AH = 11h
  1681.     DX = 0001h
  1682.     AL = 00h
  1683.     ES:BX -> service name string (8 characters, blank-padded)
  1684. Return: CF clear if successful
  1685.         AL = virtual circuit number allocated (01h for Novell TELAPI.EXE)
  1686.         CL = ??? (01h for Novell TELAPI.EXE)
  1687.         CH = ??? (01h for Novell TELAPI.EXE)
  1688.     CF set on error
  1689.         ???
  1690. Note:    this function is also supported by TelAPI
  1691. SeeAlso: AH=12h,AH=15h,AH=16h,AH=17h,AH=18h
  1692. --------S-6B12-------------------------------
  1693. INT 6B - NPC NCSI EXTENDED SERIAL I/O - VIRTUAL CIRCUIT STATUS
  1694.     AH = 12h
  1695.     AL = virtual circuit number
  1696.     CL = ???
  1697.     ES:BX -> ???
  1698. Return: ???
  1699. Note:    this function is also supported by TelAPI
  1700. SeeAlso: AH=10h,AH=15h,AH=1Ah,AH=1Bh,AH=1Fh
  1701. --------S-6B13-------------------------------
  1702. INT 6B - NPC NCSI EXTENDED SERIAL I/O - SET/RETRIEVE REQUEST/REPLY SERVICE NAME
  1703.     AH = 13h
  1704.     AL = virtual circuit number
  1705.     CL = direction (00h get, nonzero set)
  1706.     ES:BX -> buffer for/containing service name
  1707. Return: ???
  1708. Note:    this function is also supported by TelAPI
  1709. SeeAlso: AH=14h,AH=15h
  1710. --------S-6B14-------------------------------
  1711. INT 6B - NPC NCSI EXTENDED SERIAL I/O - SET/RETRIEVE SERVICE ADDRESS
  1712.     AH = 14h
  1713.     AL = virtual circuit number
  1714.     ES:BX -> buffer for/containing service address
  1715. Return: ???
  1716. Note:    this function is also supported by TelAPI, which only supports
  1717.       retrieving the address
  1718. SeeAlso: AH=13h,AH=15h,AH=21h
  1719. --------S-6B15-------------------------------
  1720. INT 6B - NPC NCSI EXTENDED SERIAL I/O - SET/RETRIEVE VIRTUAL CIRCUIT CONFIG
  1721.     AH = 15h
  1722.     AL = virtual circuit number
  1723.     CL = direction (00h get, nonzero set)
  1724.     ES:BX -> buffer for/containing virtual circuit config (see #2335)
  1725. Return: ES:BX buffer filled
  1726. Note:    this function is also supported by TelAPI
  1727. SeeAlso: AH=13h"NCSI",AH=14h"NCSI"
  1728.  
  1729. Format of virtual circuit configuration:
  1730. Offset    Size    Description    (Table 2335)
  1731.  00h    WORD    buffer length
  1732.  02h    WORD    port ID
  1733.  04h    WORD    receive rate
  1734.  06h    WORD    receive word length
  1735.  08h    WORD    receive stop bits
  1736.  0Ah    WORD    receive parity
  1737.  0Ch    WORD    transmit rate
  1738.  0Eh    WORD    transmit word length
  1739.  10h    WORD    transmit stop bits
  1740.  12h    WORD    transmit parity
  1741.  14h    WORD    DTR
  1742.  16h    WORD    RTS
  1743. --------S-6B16-------------------------------
  1744. INT 6B - NPC NCSI EXTENDED SERIAL I/O - LOG AND/OR INITIALIZE VIRTUAL CIRCUIT
  1745.     AH = 16h
  1746.     AL = virtual circuit number
  1747.     CL = ??? switch (00h, ???)
  1748. Return: CF clear if successful
  1749.         AL = virtual circuit number
  1750.     CF set on error
  1751.         ???
  1752. Note:    this function is also supported by TelAPI, which always returns CF
  1753.       clear and AL=00h
  1754. SeeAlso: AH=11h,AH=12h,AH=17h
  1755. --------S-6B17-------------------------------
  1756. INT 6B - NPC NCSI EXTENDED SERIAL I/O - DISCONNECT A VIRTUAL CIRCUIT
  1757.     AH = 17h
  1758.     AL = virtual circuit number
  1759. Return: CF clear if successful
  1760.     CF set on error
  1761.     ???
  1762. Note:    this function is also supported by TelAPI, which always returns CF
  1763.       clear and AL=00h
  1764. SeeAlso: AH=11h,AH=16h
  1765. --------S-6B18-------------------------------
  1766. INT 6B - NPC NCSI EXTENDED SERIAL I/O - WRITE DATA ON A VIRTUAL CIRCUIT
  1767.     AH = 18h
  1768.     AL = virtual circuit number
  1769.     CX = number of characters to send
  1770.     ES:BX -> buffer containing characters to be sent
  1771. Return: CF clear if successful
  1772.     CF set on error
  1773.     ???
  1774. Note:    this function is also supported by TelAPI, which always returns CF
  1775.       clear and AL=30h
  1776. SeeAlso: AX=0000h,AH=12h,AH=19h
  1777. --------S-6B19-------------------------------
  1778. INT 6B - NPC NCSI EXTENDED SERIAL I/O - READ DATA ON A VIRTUAL CIRCUIT
  1779.     AH = 19h
  1780.     AL = virtual circuit number
  1781.     CX = number of characters to read
  1782.     ES:BX -> buffer for received characters
  1783. Return: CX = 0000h if failed
  1784.     CX = nonzero (possibly number of characters received) if successful
  1785. Note:    this function is also supported by TelAPI
  1786. SeeAlso: AX=0100h,AH=12h,AH=18h
  1787. --------S-6B1A-------------------------------
  1788. INT 6B - NPC NCSI EXTENDED SERIAL I/O - RECEIVE STATUS
  1789.     AH = 1Ah
  1790.     ???
  1791. Return: ???
  1792. SeeAlso: AH=12h,AH=1Bh
  1793. --------S-6B1B-------------------------------
  1794. INT 6B - NPC NCSI EXTENDED SERIAL I/O - TRANSMIT STATUS
  1795.     AH = 1Bh
  1796.     ???
  1797. Return: ???
  1798. SeeAlso: AH=12h,AH=1Ah
  1799. --------S-6B1C-------------------------------
  1800. INT 6B - NPC NCSI EXTENDED SERIAL I/O - CLEAR RECEIVE BUFFER
  1801.     AH = 1Ch
  1802.     AL = circuit number
  1803. Return: nothing
  1804. SeeAlso: AH=1Dh"NCSI",AH=1Eh"NCSI"
  1805. --------S-6B1D-------------------------------
  1806. INT 6B - NPC NCSI EXTENDED SERIAL I/O - TRANSMIT BUFFER CONTROL
  1807.     AH = 1Dh
  1808.     ???
  1809. Return: ???
  1810. SeeAlso: AH=1Ch,AH=1Eh
  1811. --------S-6B1E-------------------------------
  1812. INT 6B - NPC NCSI EXTENDED SERIAL I/O - ISSUE CONTROL REQUEST
  1813.     AH = 1Eh
  1814.     ???
  1815. Return: ???
  1816. SeeAlso: AH=1Ch,AH=1Dh
  1817. --------S-6B1F-------------------------------
  1818. INT 6B - NPC NCSI EXTENDED SERIAL I/O - EXTERNAL STATUS
  1819.     AH = 1Fh
  1820.     ???
  1821. Return: ???
  1822. SeeAlso: AH=10h,AH=12h
  1823. --------S-6B20-------------------------------
  1824. INT 6B - Connection Manager CLIENT.EXE - ???
  1825.     AH = 20h
  1826.     ???
  1827. Return: ???
  1828. Program: Connection Manager by Softwarehouse Corp. permits the sharing of
  1829.       serial ports over an IPX or NetBIOS-based network
  1830. Note:    CLIENT.EXE returns CF set/AL=F9h if AH is not 00h to 21h on entry
  1831. --------S-6B21-------------------------------
  1832. INT 6B - NPC NCSI EXTENDED SERIAL I/O - QUERY NAME SERVICE
  1833.     AH = 21h
  1834.     AL = virtual circuit number
  1835.     CL = ??? (00h or 01h)
  1836.     ES:BX -> buffer for service name structure (see #2336)
  1837. Return: CF clear if successful
  1838.         ES:BX buffer filled
  1839.     CF set on error
  1840. Notes:    a program should call this function after allocating a virtual circuit
  1841.       and check that the general name matches the requested service
  1842.     prior to version 3.0, Novell's NASI returned the first available port;
  1843.       v3.0+ returns the first port found--check the returned status to
  1844.       determine whether the port is available
  1845. SeeAlso: AH=14h"NCSI"
  1846.  
  1847. Format of NCSI service name structure:
  1848. Offset    Size    Description    (Table 2336)
  1849.  00h    WORD    buffer length
  1850.  02h  8 BYTEs    service name
  1851.  0Ah  8 BYTEs    general name
  1852.  12h  8 BYTEs    specific name
  1853.  1Ah  4 BYTEs    ???
  1854. ---Novell NASI v3.0+ ---
  1855.  1Eh    BYTE    port number
  1856.  1Fh    BYTE    port status
  1857.         00h idle (available)
  1858.         01h allocated (available)
  1859.         02h connected
  1860.         03h on hold
  1861. ----------6B6B-------------------------------
  1862. INT 6B - Tandy SCHOOLMATE PLUS - API
  1863.     AH = 6Bh
  1864.     AL = E0h to FFh
  1865. Note:    details not yet available
  1866. ----------6C---------------------------------
  1867. INT 6C - system resume vector (CONVERTIBLE)
  1868. ----------6C---------------------------------
  1869. INT 6C - DOS 3.2 Realtime Clock update
  1870. --------N-6C---------------------------------
  1871. INT 6C - DECnet DOS network scheduler
  1872. Notes:    the installation check consists of testing for a signature area
  1873.       immediately preceding the interrupt handler (see #2337)
  1874.     also supported by DEC Pathworks for DOS
  1875. SeeAlso: INT 6B"DECnet",INT 6D"DECnet",INT 6E"DECnet"
  1876. Index:    installation check;DECnet DOS scheduler
  1877.  
  1878. Format of DECnet DOS signature area:
  1879. Offset    Size    Description    (Table 2337)
  1880.  -5    BYTE    major version number
  1881.  -4    BYTE    minor version number
  1882.  -3   3 BYTEs    signature (ASCII "SCH")
  1883. --------h-6C---------------------------------
  1884. INT 6C C - HP Vectra AT - IRQ20 - HP-HIL CONTROLLER INTERRUPT
  1885. SeeAlso: INT 0C"IRQ0",INT 6B"HP Vectra",INT 6D"HP Vectra"
  1886. --------V-6D---------------------------------
  1887. INT 6D - VIDEO - many VGA - VIDEO BIOS ENTRY POINT
  1888. Desc:    points at the original INT 10 entry point set up by the VGA BIOS
  1889. Note:    used by IBM, ATI VGA Wonder, Paradise, Video7, and NCR, and many others
  1890. SeeAlso: INT 10
  1891. --------V-6D---------------------------------
  1892. INT 6D - Trident SVGA - VIDEO BIOS HANDLER
  1893. Note:    the BIOS INT 10 handler on various Trident VGA cards consists merely
  1894.       of a call to INT 6D followed by an IRET.
  1895. --------N-6D---------------------------------
  1896. INT 6D - DECnet DOS (before 2.1) - DATA LINK LAYER PROGRAM 
  1897.     AH = function
  1898.     ???
  1899. Return: ???
  1900. Note:    the installation check consists of testing for a signature area
  1901.       immediately preceding the interrupt handler (see #2338)
  1902. SeeAlso: INT 69/AH=0Ah,INT 6C"DECnet",INT 6E"DECnet"
  1903. Index:    installation check;DECnet DOS Data Link Layer
  1904.  
  1905. Format of DECnet DOS signature area:
  1906. Offset    Size    Description    (Table 2338)
  1907.  -5    BYTE    major version number
  1908.  -4    BYTE    minor version number
  1909.  -3   3 BYTEs    signature (ASCII "DLL")
  1910. --------h-6D---------------------------------
  1911. INT 6D C - HP Vectra AT - IRQ21 - RESERVED HARDWARE INTERRUPT
  1912. SeeAlso: INT 0D"IRQ0",INT 6C"HP Vectra",INT 6E"HP Vectra"
  1913. --------N-6E---------------------------------
  1914. INT 6E - DECnet DOS - DECnet NETWORK PROCESS API
  1915. Notes:    this is the main DECnet DOS access, and is described in Digital manual
  1916.       AA-EB46B-TV ("DECnet-DOS Programmer's Reference Manual")
  1917.     there is a signature/data area immediately prior to the interrupt
  1918.       handler which may be used as an installation check (see #2339)
  1919. Index:    installation check;DECnet DOS
  1920.  
  1921. Format of DECnet DOS signature area:
  1922. Offset    Size    Description    (Table 2339)
  1923.  -5    BYTE    major version number
  1924.  -4    BYTE    minor version number
  1925.  -3   3 BYTEs    signature (ASCII "DNP")
  1926. --------h-6E---------------------------------
  1927. INT 6E C - HP Vectra AT - IRQ22 - RESERVED HARDWARE INTERRUPT
  1928. SeeAlso: INT 0E"IRQ0",INT 6D"HP Vectra",INT 6F/AH=00h"HP Vectra"
  1929. --------N-6F---------------------------------
  1930. INT 6F - Novell NetWare - PCOX API (3270 PC terminal interface)
  1931.     AX = function
  1932.         0000h enter terminal mode
  1933.         Return: AX = status
  1934.                 0000h no action requested
  1935.                 0001h screen save
  1936.         0001h reset interface and set configuration parameters
  1937.         DX = bitfields
  1938.             bits 2-0: model number
  1939.             bits 4-3: I/O address
  1940.             bits 6-5: DMA channel
  1941.         Return: nothing
  1942.         0002h set display parameters
  1943.         DX = bitfields
  1944.             bits 1-0: OIA mode
  1945.             bits 4-2: monitor support
  1946.         Return: nothing
  1947.         0003h read status
  1948.         Return: AX = status word (see #2340)
  1949.         0004h read cursor position
  1950.         Return: AX = cursor position
  1951.         0005h get character from device buffer
  1952.         DX = cursor position
  1953.         Return: AH = type (00h data, 01h attribute)
  1954.             AL = data or attribute character
  1955.         0006h send character
  1956.         DH = type (00h ASCII, 01h extended code)
  1957.         DL = ASCII character or extended code
  1958.         Return: nothing
  1959.         0007h set timeout
  1960.         DX = timeout in seconds
  1961.         Return: nothing
  1962.         0008h wait for location to be modified
  1963.         DX = cursor position
  1964.         Return: AX = status (0000h modified, nonzero timeout)
  1965.         0009h NOP
  1966.         000Ah restore display
  1967.         Return: nothing
  1968.         000Bh update device buffer
  1969.         Return: AX = cursor positoin
  1970.         000Ch write string to add information area
  1971.         DS:DX -> string
  1972.         Return: nothing
  1973.         000Dh maintenance operations
  1974.         DX = maintenance operation code
  1975.         Return: AX = operation status
  1976.         000Eh get control program version
  1977.         Return: AH = release number (major version)
  1978.             AL = level number (minor version)
  1979.         000Fh get microcode version
  1980.         Return: AH = release number (major version)
  1981.             AL = level number (minor version)
  1982.         0010h save or display graphics
  1983.         BX = length of data buffer
  1984.         CX = subfunction request code
  1985.         DS:DX -> data buffer
  1986.         Return: AX = return code
  1987.             CX = length of PIF data
  1988.         0011h perform structured field operation
  1989.         CX = request number
  1990.         DS:DX -> parameter list
  1991.         Return: AX = status word (see #2340)
  1992.             CX = error number
  1993.         0012h set cursor position for direct write buffer
  1994.         DX = new cursor position
  1995.         Return: AX = status word (see #2340)
  1996.         0013h write direct to buffer
  1997.         DL = character to be written
  1998.         DH = translation option
  1999.         Return: AX = status word (see #2340)
  2000.         0014h write direct to buffer without echo
  2001.         DL = character to be written
  2002.         DH = translation option
  2003.         Return: AX = status word (see #2340)
  2004.         0015h set direct write string length
  2005.         DX = string value
  2006.         Return: nothing
  2007.         0016h write string direct to buffer
  2008.         DS:DX -> string
  2009.         Return: AX = status word (see #2340)
  2010.         0017h write string direct to buffer, untranslated
  2011.         DS:DX -> string
  2012.         Return: AX = status word (see #2340)
  2013.         0018h get direct-write cursor position
  2014.         Return: AX = cursor position
  2015.         0019h convert row/column to cursor position
  2016.         DH = display row (1-43)
  2017.         DL = display column (1-132)
  2018.         Return: AX = cursor position
  2019.         001Ah convert cursor position to row/column
  2020.         DX = cursor position
  2021.         Return: AH = display row
  2022.             AL = display column
  2023.         001Bh find next field
  2024.         DX = initial cursor position
  2025.         Return: AX = field cursor position
  2026.         001Ch find previous field
  2027.         DX = initial cursor position
  2028.         Return: AX = field cursor position
  2029.         001Dh find next unprotected field
  2030.         DX = initial cursor position
  2031.         Return: AX = field cursor position
  2032.         001Eh find previous unprotected field
  2033.         DX = initial cursor position
  2034.         Return: AX = field cursor position
  2035.         001Fh find next protected field
  2036.         DX = initial cursor position
  2037.         Return: AX = field cursor position
  2038.         0020h find previous protected field
  2039.         DX = initial cursor position
  2040.         Return: AX = field cursor position
  2041.         0021h masked search forward
  2042.         DH = mask
  2043.         DL = search pattern
  2044.         Return: AX = cursor position or 0000h
  2045.         0022h masked search backward
  2046.         DH = mask
  2047.         DL = search pattern
  2048.         Return: AX = cursor position or 0FFFh
  2049.         0023h find field length
  2050.         DX = cursor position
  2051.         Return: AX = field length
  2052.         0024h read field
  2053.         DS:DX -> buffer for field contents
  2054.         Return: AX = status word (see #2340)
  2055.         0025h read screen
  2056.         DS:DX -> buffer for screen contents
  2057.         Return: AX = status word (see #2340)
  2058.         0026h read buffer untranslated
  2059.         DX = cursor position
  2060.         Return: AX = buffer code
  2061.             CX:BX -> 3278/79 device buffer image
  2062.         0027h enable/disable keyboard
  2063.         DL = new state of keyboard breaks (00h enabled, 01h disabled)
  2064.         Return: nothing
  2065.         0028h select host session
  2066.         DL = session short name
  2067.         Return: AX = session information
  2068.         0029h retrieve host session name
  2069.         AX = short name (DFT) or 0000h (not available, CUT mode)
  2070.         002Ah get current device buffer size
  2071.         Return: AX = device buffer size
  2072.             CX = segment of EAB
  2073.         002Bh arm modified location trigger
  2074.         DX = cursor position
  2075.         Return: AX = status (0000h not available, 0001h successful)
  2076.  
  2077. Bitfields for PCOX status word:
  2078. Bit(s)    Description    (Table 2340)
  2079.  0,1    cursor type
  2080.  2    cursor inhibited
  2081.  3    display inhibited
  2082.  4    feature step inhibited
  2083.  5    480-character format code
  2084.  6,7    unused
  2085.  8-10    model number (2-5)
  2086.  11    unit has been reset by controller (cleared after status returned)
  2087.  12    buffer has been written into (cleared after status returned)
  2088.  13    alarm has been sounded (cleared after status returned)
  2089.  14-15    monitor type (01 mono, 10 color, 11 hybrid)
  2090. --------N-6F00-------------------------------
  2091. INT 6F - 10NET - LOGIN
  2092.     AH = 00h
  2093.     DS:DX -> login record (see #2341)
  2094. Return: CL = security level
  2095.     AX = status (see #2342)
  2096. SeeAlso: AH=01h,AH=80h,INT 21/AX=4402h"10MEMMGR"
  2097.  
  2098. Format of 10NET login record:
  2099. Offset    Size    Description    (Table 2341)
  2100.  00h  8 BYTEs    user name
  2101.  08h  8 BYTEs    password
  2102.  10h 12 BYTEs    name of SuperStation
  2103.  
  2104. (Table 2342)
  2105. Values for 10NET status:
  2106.  0000h    successful
  2107.  01FFh    "RTO_NERR" transmit interrupt lost (time out on response)
  2108.  02FFh    "NET_NERR" network (hardware) error
  2109.  03FFh    "PAS_NERR" invalid password
  2110.  04FFh    "LRN_NERR" local resource not available
  2111.  05FFh    "SRN_NERR" server resource not available
  2112.  06FFh    "LNM_NERR" already logged in under different name
  2113.  07FFh    "LSF_NERR" login security failure (node)
  2114.  08FFh    "NLI_NERR" not logged in
  2115.  09FFh    "DIVZ_NERR" position calc error
  2116.  0AFFh    "NT1_NERR" receive subfunction not = send subfunction (i.e. read,write)
  2117.  0BFFh    "RFNC_NERR" request function not in range
  2118.  0CFFh    "NSFH_NERR" no more server file handle entries left
  2119.  0DFFh    "NFTAB_NERR" no more shared file table entries left
  2120.  0EFFh    "NUFH_NERR" no more user file handle entries left
  2121.  0FFFh    "CHAT_NERR" chat permit not on
  2122.  10FFh    "NSRV_NERR" not a server on request
  2123.  11FFh    "NOBD_NERR" no transporter board error
  2124.  12FFh    "STO_NERR" time out on send
  2125.  13FFh    "INF_NERR" item not found (spool item not on queue)
  2126.  14FFh    "DACS_NERR" DOS access incompatible
  2127.  15FFh    "RLOCK_NERR" record already locked
  2128.  16FFh    "IVP_NERR" invalid parameter
  2129.  17FFh    "RLTO_NERR" record lock time out error
  2130.  18FFh    "CSPL_NERR" currently spooling to named device
  2131.  19FFh    "DRP_NERR" dropped receive message (throttle)
  2132.  1AFFh    "SOPV_NERR" open sharing violation
  2133.  1BFFh    "NTUF_NERR" no more tuf entries left
  2134.  1CFFh    "NOWN_NERR" not file owner on open
  2135.  1DFFh    "RSEC_NERR" read security not passed
  2136.  1EFFh    "WSEC_NERR" write security not passed
  2137.  1FFFh    "GSEC_NERR" group security not passed
  2138.  20FFh    "SEC1_NERR" security file failure
  2139.  21FFh    "ACT1_NERR" activity file failure
  2140.  22FFh    "SPL1_NERR" spool control file failure
  2141.  23FFh    "NMT_NERR" device not mounted (spooling)
  2142.  24FFh    "RSPL_NERR" spool file has not been terminated
  2143.  25FFh    "DNSH_NERR" device not mounted or is not being shared
  2144.  26FFh    "DUP_NERR" duplicate node ID
  2145.  27FFh    "FNF_NERR" file not found error
  2146.  28FFh    "NMF_NERR" no more files
  2147.  29FFh    "UN_NERR" unknown internal system error
  2148.  2AFFh    "QCP_NERR" print queue is full or corrupted
  2149.  2BFFh    "IFNC_NERR" invalid function
  2150.  2CFFh    "IVH_NERR" invalid handle
  2151.  2DFFh    "TOF_NERR" too many files opened
  2152.  2EFFh    "PNF_NERR" path not found
  2153.  2FFFh    "SACT_NERR" named file is active
  2154. ---10NET v5.0+ ---
  2155.  30FFh    "NAK_NERR" received NAK on send (destination out of buffers)
  2156.  31FFh    "RENT_NERR" reentrancy in driver F_SEND
  2157.  32FFh    "RECV_NERR" driver could not be put in receive mode
  2158.  33FFh    "NRLT_NERR" no more RLTAB entries left
  2159.  34FFh    "DIAL_NERR" function requires an unsupported dialect
  2160.  35FFh    "IVD_NERR" invalid device
  2161.  36FFh    "NALV_NERR" netname access level violated
  2162.  37FFh    "NPIDNF_NERR" network path not found
  2163.  38FFh    "SP_NERR" server is paused
  2164.  39FFh    "TMNM_NERR" too many remote user names
  2165.  3AFFh    "DUPD_NERR" duplicate network device
  2166.  3BFFh    "DIU_NERR" shared device in use, can't delete
  2167.  3CFFh    "NNWD_NERR" network name was deleted
  2168.  3DFFh    "NPFS_NERR" not enough space for print file
  2169.  3EFFh    "NNNF_NERR" network name not found (can't find the call name)
  2170.  3FFFh    "NB_NERR" network busy
  2171.  40FFh    "NDNLE_NERR" network device no longer exists
  2172.  41FFh    "NBCLE_NERR" NetBIOS command limit exceeded
  2173.  42FFh    "FINT24_NERR" Fail on INT 24h
  2174.  43FFh    "PEXP_NERR" password expired
  2175.  44FFh    "NPUP_NERR" new password error
  2176.  45FFh    "MAXS_NERR" maximum allowed disk space exceeded
  2177.  46FFh    "TDOW_NERR" time-of-day/day-of-week error
  2178. SeeAlso: #2369
  2179. Index:    error codes;10Net|10Net;error codes
  2180. --------b-6F00-------------------------------
  2181. INT 6F - HP Vectra EX-BIOS - "F_ISR" (internal) - RESPOND TO LOGICAL ISR
  2182.     AH = 00h
  2183.     BP = ID for driver (see #2343)
  2184.     DH = data type (see #2344)
  2185.     DL = physical device driver's index (driver ID / 6)
  2186.     BX,CX = data
  2187.     ES:0000h -> physical device's Describe Record (see #2351)
  2188.     ---keypress event data---
  2189.         BH = keyboard state (only if bit 5 of DH set) (see #2345)
  2190.         BL = scancode (if bit 4 of DH clear)
  2191.         CX = number of scancodes in list (if bit 4 of DH set)
  2192.         ES:SI -> scancode list (if bit 4 of DH set)
  2193.     ---motion event data---
  2194.         BX = new X position (abs device) or X increment (relative device)
  2195.         CX = new Y position (abs device) or Y increment (relative device)
  2196.     ---button event data
  2197.         BL = button information
  2198.         bits 15-8 reserved
  2199.         bit 7: button state (0 = down, 1 = up)
  2200.         bits 6-0: button number (0-7)
  2201.         BH = reserved
  2202. Return: AH = status (see #2346)
  2203.     BP,DS destroyed
  2204.     ---if device is keyboard translator---
  2205.         BL = translated scancode
  2206.         BH = new keyboard state (if DH bit 5 set) (see #2345)
  2207.         DH = new scancode type (see #2344)
  2208. Notes:    INT 6F corresponds to IRQ23 on the original HP Vectra AT, which is
  2209.       unavailable because of its use as a BIOS extension software interrupt
  2210.     the INT 6F handler consists of an instruction to load DS with the
  2211.       driver's data segment followed by an indexed far jump using BP to
  2212.       select the destination vector; since the interrupt handler is
  2213.       located immediately following the dispatch table, the HP_VECTOR_TABLE
  2214.       may be found by looking at offset 0000h in the INT 6F segment, and
  2215.       its size is equal to the offset of the interrupt handler
  2216.     each entry in the HP_VECTOR table consists of a DWORD for the driver's
  2217.       entry point address and a WORD for the driver's data segment
  2218.     this function is not user-callable, as it is a response to a physical
  2219.       event, and assumes that the caller has already handled the physical
  2220.       interrupt and updated the Describe Record (see #2351) to reflect
  2221.       the event
  2222. SeeAlso: INT 6C"HP Vectra",INT 6F/AH=02h"HP Vectra"
  2223.  
  2224. (Table 2343)
  2225. Values for HP Vectra EX-BIOS driver ID:
  2226.  0000h    V_SCOPY (null driver, but DS value points at system copyright string)
  2227.  0006h    V_DOLITTLE (null driver)
  2228.  000Ch    V_PNULL (null driver)
  2229.  0012h    V_SYSTEM
  2230.  0018h    reserved
  2231.  001Eh    V_S8259
  2232.  0024h    reserved
  2233.  002Ah    V_SINPUT
  2234.  0030h    reserved
  2235.  0036h    V_QWERTY (keyboard translator)
  2236.  003Ch    V_SOFTKEY (keyboard translator)
  2237.  0042h    V_FUNCTION (keyboard translator)
  2238.  0048h    V_NUMPAD (keyboard translator)
  2239.  004Eh    V_CCP (keyboard translator)
  2240.  0054h    V_SVIDEO
  2241.  005Ah    V_STRACK
  2242.  0060h    V_EVENT_TOUCH
  2243.  0066h    V_EVENT_TABLET
  2244.  006Ch    V_EVENT_POINTER
  2245.  0072h    reserved
  2246.  0078h    reserved
  2247.  007Eh    reserved
  2248.  0084h    reserved
  2249.  008Ah    V_CCPCUR (keyboard translator)
  2250.  0090h    V_RAW (keyboard translator)
  2251.  0096h    V_CCPNUM (keyboard translator)
  2252.  009Ch    V_OFF (keyboard translator)
  2253.  00A2h    V_CCPGID (translator: cursor control pad keys to GID data)
  2254.  00A8h    V_SKEY2FKEY (keyboard translator)
  2255.  00AEh    V_8041
  2256.  00B4h    V_PGID_CCP
  2257.  00BAh    C_LTABLET
  2258.  00C0h    V_LPOINTER (pointing device: mouse, etc.)
  2259.  00C6h    V_LTOUCH (touch screen)
  2260.  00CCh    V_LHPMOUSE
  2261.  00D2h    ???
  2262.  ...
  2263.  0102h    ???
  2264.  0108h    V_LNULL
  2265.  010Eh    reserved
  2266.  0114h    V_HPHIL
  2267.  011Ah-01C2h reserved
  2268.  016Eh    V_SCANDOOR (scancode management chip driver) (ES/QS/RS only)
  2269.  01C8h-0228h available
  2270.  
  2271. (Table 2344)
  2272. Values for HP Vectra EX-BIOS ISR data type:
  2273.  00h    reserved "T_KC_R0"
  2274.  01h    reserved "T_KC_R1"
  2275.  02h    ASCII data
  2276.  03h    reserved "T_KC_R3"
  2277.  04h    HP150 keyboard (ITF) scancode
  2278.  05h    reserved "T_KC_R5"
  2279.  06h    device-definable type
  2280.  07h    HP Vectra keyboard set
  2281.  08h    IBM AT scancode set
  2282.  09h    button data
  2283.  0Ah    IBM PC scancode set
  2284.  0Bh    Softkey keypad (F1-F8)
  2285.  0Ch    function key keypad (F1-F10)
  2286.  0Dh    HP Cursor Control Pad keypad
  2287.  0Eh    Qwerty keypad
  2288.  0Fh    Numeric keypad
  2289.  1xh    bit 4 set: string of CX scancode of type 0xh at ES:SI
  2290.  2xh    bit 5 set: BH contains current keyboard state
  2291.  40h    signed 8-bit relative data
  2292.  41h    signed 16-bit relative data
  2293.  42h    unsigned 8-bit absolute data
  2294.  43h    unsigned 16-bit absolute data
  2295.  45h    specially-formed data (80x25) generated by V_LTOUCH
  2296.  46h    specially-formed data (640x200) generated by V_LTABLET
  2297.  47h    specially-formed data (640x200) generated by V_LPOINTER
  2298.  
  2299. Bitfields for HP Vectra EX-BIOS keyboard state:
  2300. Bit(s)    Description    (Table 2345)
  2301.  0    Alt pressed
  2302.  1    Left Shift pressed
  2303.  2    Right Shift pressed
  2304.  3    Ctrl pressed
  2305.  4    CapsLock active
  2306.  5    NumLock active
  2307.  6    Right unlabeled key pressed (some international keyboards)
  2308.  7    Left unlabeled key pressed (some international keyboards)
  2309. SeeAlso: #0442
  2310.  
  2311. (Table 2346)
  2312. Values for HP Vectra EX-BIOS status:
  2313.  00h    successful
  2314.  02h    unsupported function
  2315.  04h    not serviced
  2316.  06h    done (no further processing should be performed on the ISR event)
  2317.  F2h    device is out of paper
  2318.  F4h    device is offline
  2319.  F6h    no more space for more drivers
  2320.  F8h    driver is busy
  2321.  FAh    bad parameter
  2322.  FEh    operation failed
  2323. Note:    status codes are always even; negative values (>= 80h) indicate errors
  2324.       while positive values indicate exceptional conditions
  2325.  
  2326. Format of HP EX-BIOS driver header data:
  2327. Offset    Size    Description    (Table 2347)
  2328.  00h    WORD    driver attributes (see #2348)
  2329.  02h    WORD    string index of driver's name
  2330.  04h    WORD    driver's default logical device vector (see #2343)
  2331.  06h    WORD    driver's parent class (bitset) (see #2349)
  2332.  08h    WORD    driver's child class (bitset)
  2333.  0Ah    WORD    driver's parent vector
  2334.  0Ch    WORD    driver's child vector
  2335.  0Eh    BYTE    major subaddress
  2336.  0Fh    BYTE    minor subaddress
  2337. Notes:    this structure is located at offset 0 in the driver's data segment,
  2338.       which in turn may be read from the HP_VECTOR_TABLE (see note in
  2339.       main entry)
  2340.     only the first WORD is required, and everything from offset 6 onward
  2341.       is only required if the device wishes to perform device mapping
  2342. SeeAlso: #2350,#2351
  2343.  
  2344. Bitfields for HP EX-BIOS driver header attributes:
  2345. Bit(s)    Description    (Table 2348)
  2346.  15    this is a complete driver header
  2347.  14    "ATR_DEVCFG" reserved
  2348.  13    driver can be mapped with the parent vector at offset 0Ah
  2349.  12    driver can be mapped with the child vector at offset 0Ch
  2350.  11-9    driver type
  2351.     000 reserved vector
  2352.     001 free vector
  2353.     010 EX-BIOS service
  2354.     011 logical driver (mapped from parent to child)
  2355.     100 mappable driver (cannot be last in driver chain)
  2356.     101 mappable driver that is last in driver chain
  2357.     110 input driver (mappable)
  2358.     111 reserved
  2359.  8    "ATR_STRING" reserved
  2360.  7    call SF_START whenever driver is remapped
  2361.  6-5    addressing requirements
  2362.     00 no subaddresses required
  2363.     01 requires major address be stored at offset 0Eh
  2364.     10 requires minor address be stored at offset 0Fh
  2365.     11 required major,minor, and mid addresses (minor in low nybble of
  2366.           offset 0Fh, mid address in high nybble of 0Fh)
  2367.  4    driver can be shared between several parent drivers
  2368.  3    driver can be shared between several child drivers
  2369.  2    this driver header is in ROM
  2370.  1    "ATR_YIELD" reserved
  2371.  0    reserved
  2372. SeeAlso: #2347,#2349
  2373.  
  2374. Bitfields for HP EX-BIOS driver class:
  2375. Bit(s)    Description    (Table 2349)
  2376.  15    maps F1 to F8 softkeys
  2377.  14    keyboard
  2378.  13    cursor pad
  2379.  12    console device
  2380.  11    serial output device (may be capable of limited input)
  2381.  10    "CL_COMM" reserved
  2382.  9    interfaces multiple resources transparent to operating system
  2383.  8    serial output device filter (can be mapped between logical and physical
  2384.       driver to perform translations)
  2385.  7    addressed block device
  2386.  6    priority boot device
  2387.  5    logical graphics input device
  2388.  4    physical graphics input device (can map to child of another driver)
  2389.  3    "CL_GID" can map to an event
  2390.  2    physical touch device
  2391.  1    reserved
  2392.  0    class extension bit
  2393. Note:    special values: FFFFh maps to all other devices (V_PNULL), and 0000h
  2394.       maps to no other driver
  2395. SeeAlso: #2347
  2396.  
  2397. Format of HP EX-BIOS global data area:
  2398. Offset    Size    Description    (Table 2350)
  2399.  00h 20 BYTEs    reserved
  2400.  14h    BYTE    sound driver status
  2401.  15h    BYTE    number of pending key clicks (max 4) (see AH=34h/BP=0012h)
  2402.  16h    BYTE    current tick duration scaling factor
  2403.  17h    BYTE    current key click volume
  2404.  18h    WORD    current beep period (10 us increments) (see AH=3Ch/BP=0012h)
  2405.  1Ah    WORD    current beep duration (10 us increments)
  2406.  1Ch    BYTE    number of pending beep functions (max 4) (see AH=3Ah/BP=0012h)
  2407.  1Dh    BYTE    reserved
  2408.  1Eh    WORD    next unused string index number
  2409.  20h    ...    reserved
  2410. SeeAlso: #2347
  2411.  
  2412. Format of HP EX-BIOS Driver Describe Record:
  2413. Offset    Size    Description    (Table 2351)
  2414.  00h 16 BYTEs    EX-BIOS driver header data (see #2347)
  2415.  10h    BYTE    device GID type
  2416.         bits 7-4: device type
  2417.         bits 3-0: physical device link address
  2418.  11h    BYTE    physical device ID (see #2353)
  2419.  12h    WORD    logical device status bits (see #2352)
  2420.  14h    BYTE    physical device vector number (driver ID / 6)
  2421.  15h    BYTE    maximum number of axes reported (0-2)
  2422.  16h    BYTE    device class
  2423.         bits 7-4: current class
  2424.         bits 3-0: default class
  2425.  17h    BYTE    number of buttons/prompts
  2426.         bits 7-4: number of prompts
  2427.         bits 3-0: number of buttons
  2428.  18h    BYTE    reserved
  2429.  19h    BYTE    (physical devices only) maximum output burst length
  2430.  1Ah    BYTE    (physical devices only) number of write registers
  2431.  1Bh    BYTE    (physical devices only) number of read registers
  2432.  1Ch    BYTE    button transition flags (bit 0 = button0, etc.)
  2433.  1Dh    BYTE    current button states (bit 0 = button0, etc.)
  2434.  1Eh    WORD    device resolution
  2435.  20h    WORD    maximum x-axis count
  2436.  22h    WORD    maximum y-axis count
  2437.  24h    WORD    X position data for absolute devices
  2438.  26h    WORD    Y position data for absolute devices
  2439.  28h    WORD    X delta for relative devices
  2440.  2Ah    WORD    Y delta for relative devices
  2441.  2Ch    WORD    (logical devices only) X-axis scaling accumulator
  2442.         (fraction of one logical unit)
  2443.  2Eh    WORD    (logical devices only) Y-axis scaling accumulator
  2444.         (fraction of one logical unit)
  2445.  
  2446. Bitfields for HP logical device status flags:
  2447. Bit(s)    Description    (Table 2352)
  2448.  15-5    reserved
  2449.  4    event enabled
  2450.  3    tracking enabled
  2451.  2    clipping enabled
  2452.  1    button error occurred
  2453.  0    interrupt in progress
  2454. SeeAlso: #2351
  2455.  
  2456. (Table 2353)
  2457. Values for HP-HIL device ID:
  2458.  00h-02h reserved
  2459.  03h    Swiss-French keyboard
  2460.  04h-06h reserved
  2461.  07h    Canadian-English keyboard
  2462.  08h-0Ah reserved
  2463.  0Bh    Italian keyboard
  2464.  0Ch    reserved
  2465.  0Dh    Dutch keyboard
  2466.  0Eh    Swedish keyboard
  2467.  0Fh    German keyboard
  2468.  10h-12h reserved
  2469.  13h    Spanish keyboard
  2470.  14h    reserved
  2471.  15h    Belgian (Flemish) keyboard
  2472.  16h    Finnish keyboard
  2473.  17h    UK keyboard
  2474.  18h    French-Canadian keyboard
  2475.  19h    Swiss-German keyboard
  2476.  1Ah    Nerwegian keyboard
  2477.  1Bh    Frensh keyboard
  2478.  1Ch    Danish keyboard
  2479.  1Dh    Katakana keyboard
  2480.  1Eh    Latin American-Spanish keyboard
  2481.  1Fh    US-American keyboard
  2482.  20h-2Bh reserved
  2483.  2Ch-2Fh tone generator
  2484.  30h-3Fh reserved
  2485.  40h-5Bh reserved (character entry)
  2486.  5Ch-5Fh barcode reader
  2487.  60h-67h reserved (relative positions)
  2488.  68h-6Bh mouse
  2489.  6Ch-6Fh trackball
  2490.  70h-7Fh reserved (relative positions)
  2491.  80h-87h reserved (absolute positions)
  2492.  88h-8Bh touchpad
  2493.  8Ch-8Fh touch screen
  2494.  90h-97h graphics tablet
  2495.  98h-9Fh reserved (absolute positions)
  2496.  A0h-BFh compressed keyboard (91-93 keys)
  2497.  C0h-DFh extended keyboard (107-109 keys)
  2498.  E0h-FFh standard keyboard (85-87 keys)
  2499. --------N-6F01-------------------------------
  2500. INT 6F - 10NET - LOGOFF
  2501.     AH = 01h
  2502.     DS:DX -> superstation ID or nulls (12 bytes)
  2503. Return: CX = number of files closed
  2504.     AX = status (see also #2342)
  2505.         08FFh superstation ID not already logged in
  2506. SeeAlso: AH=00h"10NET",AH=81h
  2507. --------N-6F02-------------------------------
  2508. INT 6F - 10NET - STATUS OF NODE
  2509.     AH = 02h
  2510.     DS:DX -> 512-byte status record (see #2355)
  2511. Return:    CF clear if successful
  2512.     CF set on error
  2513.         AX = error code (see #2342)
  2514. SeeAlso: INT 21/AX=5E01h"10NET"
  2515.  
  2516. (Table 2354)
  2517. Values for 10NET station type:
  2518.  00h    workstation
  2519.  01h    superstation
  2520.  02h    gateway station
  2521.  03h    gateway active
  2522.  04h    logged into multiple superstations
  2523.  05h    reserved
  2524.  
  2525. Format of 10NET node status record:
  2526. Offset    Size    Description    (Table 2355)
  2527.  00h  8 BYTEs    user name (0 if none)
  2528.  08h    BYTE    station type (see #2354)
  2529.  09h 24 BYTEs    list of superstations logged into more than one superstation
  2530.  21h 12 BYTEs    node ID
  2531.  2Dh    WORD    message count for this station (send for user node, receive for
  2532.           superstations)
  2533. ---for superstations only---
  2534.  2Fh    WORD    drives allocated (bit 0=A:, bit 1=B:,...)
  2535.  31h    BYTE    user service flags (see #2356)
  2536.  32h    BYTE    printers allocated (bit 0=LPT1,...)
  2537.  33h    BYTE    number of unprinted spool files
  2538.  34h    BYTE    number of opened files
  2539.  35h    BYTE    number of logged on nodes
  2540.  36h    BYTE    primary drive (1=A:)
  2541.  37h    BYTE    reserved
  2542.  38h  N BYTEs    list of logged on node IDs (each 12 bytes, max 37 IDs)
  2543. 1F4h  3 BYTEs    time: sec/min/hrs
  2544. 1F7h  3 BYTEs    date: day/mon/year-1980
  2545.  
  2546. Bitfields for 10NET user service flags:
  2547. Bit(s)    Description    (Table 2356)
  2548.  7    gate
  2549.  6    print permit on
  2550.  4    SUBMIT is on
  2551.  3    mail waiting for node
  2552.  2    calendar waiting for you
  2553.  1    news waiting for you
  2554.  0    mail waiting for you
  2555. --------b-6F0200-----------------------------
  2556. INT 6F - HP Vectra EX-BIOS - "F_SYSTEM SF_INIT" - START INITIALIZING DRIVER
  2557.     AX = 0200h
  2558.     BP = driver ID (see #2343)
  2559.     BX = "last-used DS" value from HP global data area (see #2350)
  2560. Return: AH = status (see #2346)
  2561.     BX = new "last-used DS" value
  2562.     BP,DS destroyed
  2563. SeeAlso: AH=00h"HP Vectra",AX=0202h,AH=0Ah"F_INS_FIXOWNDS"
  2564. --------b-6F0202-----------------------------
  2565. INT 6F - HP Vectra EX-BIOS - "F_SYSTEM SF_START" - COMPLETE DRIVER INITIALIZ.
  2566.     AX = 0202h
  2567.     BP = driver ID (see #2343)
  2568. Return: AH = status (see #2346)
  2569.     BP,DS destroyed
  2570. SeeAlso: AH=00h"HP Vectra",AX=0200h,AX=0204h"HP Vectra"
  2571. --------W-6F0204-----------------------------
  2572. INT 6F C - MS Windows 3.0 - DOS APPLICATION SWITCH HOOK
  2573.     AX = 0204h
  2574. Return: AX = status
  2575.         0000h switch is allowed
  2576.         other switch not allowed
  2577. Note:    intercepting this call will allow a DOS application to ensure that
  2578.       Windows will not switch away from it.
  2579. --------b-6F0204-----------------------------
  2580. INT 6F - HP Vectra EX-BIOS - "F_SYSTEM SF_REPORT_STATE" - GET DRIVER STATE
  2581.     AX = 0204h
  2582.     BP = driver ID (see #2343)
  2583. Return: AH = status (see #2346)
  2584.     DX = device state from Logical Describe Record (see #2351,#2357)
  2585.     BP,DS destroyed
  2586. SeeAlso: AH=00h"HP Vectra",AX=0200h,AX=0206h"HP Vectra"
  2587.  
  2588. Bitfields for HP Vectra V_HPHIL driver state:
  2589. Bit(s)    Description    (Table 2357)
  2590.  0    link configuration in progress
  2591.  1    reserved
  2592.  2    no devices attached
  2593.  3    general failure
  2594.  4,5    reserved
  2595.  6    HP-HIL driver open
  2596.  7    reserved
  2597.  8    link has been reconfigured
  2598.  9    error during output request
  2599.  10    reserved
  2600.  11    output request complete
  2601.  12    timeout
  2602.  13-15    reserved
  2603. --------b-6F0206-----------------------------
  2604. INT 6F - HP Vectra EX-BIOS - "F_SYSTEM SF_VERSION_DESC" - GET DRIVER VERSION
  2605.     AX = 0206h
  2606.     BP = driver ID (see #2343)
  2607. Return: AH = status (see #2346)
  2608.     BX = driver release date code
  2609.         (BL = BCD years since 1960, BH = BCD week number within year)
  2610.     CX = length of version string
  2611.     ES:DI -> version string
  2612.     BP,DS destroyed
  2613. SeeAlso: AH=00h"HP Vectra",AX=0200h,AX=0204h"HP Vectra",AX=0208h
  2614. --------b-6F0208-----------------------------
  2615. INT 6F - HP Vectra EX-BIOS - "F_SYSTEM SF_DEF_ATTR" - RESET TO DEFAULT ATTR
  2616.     AX = 0208h
  2617.     BP = driver ID (see #2343)
  2618. Return: AH = status (see #2346)
  2619.     BP,DS destroyed
  2620. SeeAlso: AH=00h"HP Vectra",AX=0200h,AX=020Ah,AX=020Ch
  2621. --------b-6F020A-----------------------------
  2622. INT 6F - HP Vectra EX-BIOS - "F_SYSTEM SF_GET_ATTR" - GET CURRENT ATTRIBUTES
  2623.     AX = 020Ah
  2624.     BP = driver ID (see #2343)
  2625. Return: AH = status (see #2346)
  2626.     BX,CX = current attributes
  2627.     BP,DS destroyed
  2628.     ---for V_LTOUCH, V_LPOINTER---
  2629.         BX = logical width    
  2630.         CX = logical height
  2631. SeeAlso: AH=00h"HP Vectra",AX=0200h,AX=0208h,AX=020Ch
  2632. --------b-6F020C-----------------------------
  2633. INT 6F - HP Vectra EX-BIOS - "F_SYSTEM SF_SET_ATTR" - SET DEVICE ATTRIBUTES
  2634.     AX = 020Ch
  2635.     BP = driver ID (see #2343)
  2636.     BX,CX = new attributes
  2637.     ---for V_LTOUCH, V_LPOINTER---
  2638.         BX = new logical width
  2639.         CX = new logical height
  2640. Return: AH = status (see #2346)
  2641.     BP,DS destroyed
  2642. SeeAlso: AH=00h"HP Vectra",AX=0200h,AX=0208h,AX=020Ah
  2643. --------b-6F020E-----------------------------
  2644. INT 6F - HP Vectra EX-BIOS - "F_SYSTEM SF_OPEN" - RESERVE DRIVER FOR ACCESS
  2645.     AX = 020Eh
  2646.     BP = driver ID (see #2343) for V_HPHIL, others
  2647. Return: AH = status (see #2346)
  2648.     BP,DS destroyed
  2649. Desc:    place device in open state, which allows output to the device
  2650. SeeAlso: AH=00h"HP Vectra",AX=0200h,AX=0208h,AX=0210h
  2651. --------b-6F0210-----------------------------
  2652. INT 6F - HP Vectra EX-BIOS - "F_SYSTEM SF_CLOSE" - RELEASE DRIVER
  2653.     AX = 0210h
  2654.     BP = driver ID (see #2343) for V_HPHIL, others
  2655. Return: AH = status (see #2346)
  2656.     BP,DS destroyed
  2657. Desc:    place device in closed state, which disallows output to the device
  2658. SeeAlso: AH=00h"HP Vectra",AX=0200h,AX=0208h,AX=020Eh
  2659. --------b-6F0212-----------------------------
  2660. INT 6F - HP Vectra EX-BIOS - "F_SYSTEM SF_TIMEOUT" - REPORT REQUESTED TIMEOUT
  2661.     AX = 0212h
  2662.     BP = driver ID (see #2343)
  2663. Return: AH = status (see #2346)
  2664.     BP,DS destroyed
  2665. Desc:    report to driver that a previously-requested timeout interval has
  2666.       expired
  2667. SeeAlso: AH=00h"HP Vectra",AX=0200h,AX=0208h,AX=020Eh,AX=0214h,AX=0216h
  2668. --------b-6F0214-----------------------------
  2669. INT 6F - HP Vectra EX-BIOS - "F_SYSTEM SF_INTERVAL" - 60 HZ INTERVAL EXPIRED
  2670.     AX = 0214h
  2671.     BP = driver ID (see #2343)
  2672. Return: AH = status (see #2346)
  2673.     BP,DS destroyed
  2674. Desc:    report to driver that a previously-requested 60 Hz interval has
  2675.       expired
  2676. SeeAlso: AH=00h"HP Vectra",AX=0200h,AX=0208h,AX=020Eh,AX=0212h,AX=0216h
  2677. --------b-6F0216-----------------------------
  2678. INT 6F - HP Vectra EX-BIOS - "F_SYSTEM SF_TEST" - PERFORM HARDWARE TEST
  2679.     AX = 0216h
  2680.     BP = driver ID (see #2343)
  2681. Return: AH = status (see #2346)
  2682.     BP,DS destroyed
  2683.     ---on failure---
  2684.     CX = length of reason string
  2685.     ES:DI -> string describing error
  2686. SeeAlso: AH=00h"HP Vectra",AX=0200h,AX=0208h,AX=020Eh,AX=0212h,AX=0214h
  2687. --------N-6F03-------------------------------
  2688. INT 6F - 10NET - GET ADDRESS OF CONFIGURATION TABLE
  2689.     AH = 03h
  2690.     DS:DI -> node ID (optional)
  2691. Return: ES:BX -> configuration table (see #2358)
  2692. SeeAlso: AH=13h,INT 21/AX=5E01h"10NET"
  2693.  
  2694. Format of 10NET configuration table:
  2695. Offset    Size    Description    (Table 2358)
  2696. -41    WORD    local device table address
  2697. -39    WORD    extended network error mapping table address
  2698. -37    WORD    shared device table address
  2699. -35    WORD    mounted device table address
  2700. -33    BYTE    receive buffer counter
  2701. -32    BYTE    collect buffer counter
  2702. -31    WORD    TUF address
  2703. -29    BYTE    enable flag
  2704. -28    BYTE    FCB keep flag
  2705. -27    WORD    reserved
  2706. ---up to here, 10NET v3.3---
  2707. -25    WORD    count of dropped Send6F
  2708. -23    WORD    buffer start address
  2709. -21    WORD    comm driver base address
  2710. -19    WORD    send/receive retry count
  2711. -17    BYTE    number of 550ms loops before timeout
  2712. -16    WORD    UFH address
  2713. -14    WORD    CDIR address
  2714. -12    WORD    LTAB address
  2715. -10    WORD    SFH address
  2716. -8    WORD    FTAB address
  2717. -6    WORD    RLTAB address
  2718. -4    WORD    SMI address
  2719. -2    WORD    NTAB address
  2720.  00h    WORD    address of first CT_DRV
  2721.  02h    BYTE    number of DRV entries
  2722.  03h  8 BYTEs    login name
  2723.  0Bh 12 BYTEs    node ID (blank-padded)
  2724.  17h  6 BYTEs    node address
  2725.  1Dh    BYTE    flag
  2726.  1Eh    BYTE    CT_CFLG (chat permit)
  2727.         bit 1: sound bell
  2728.         bit 0: CHAT permit
  2729.  1Fh    BYTE    CT_PSFLG (see #2359)
  2730.  20h    BYTE    in 10Net flag
  2731.  21h    WORD    receive message count
  2732.  23h    WORD    send message count
  2733.  25h    WORD    retry count
  2734.  27h    WORD    failed count
  2735.  29h    WORD    driver errors
  2736.  2Bh    WORD    dropped responses/CHATs
  2737.  2Dh  9 BYTEs    LIST ID/NTAB address (3 entries--LPT1-3)
  2738.  36h  6 BYTEs    AUX ID/NTAB address (2 entries--COM1-2)
  2739.  3Ch    BYTE    active CB channel
  2740.  3Dh    BYTE    received 6F messages on queue
  2741.  3Eh  9 BYTEs    activity counters for channels 1-9
  2742. ---beyond here, 10NET v3.3---
  2743.  47h    BYTE    bit 0: RS232 gate
  2744.         bit 1: Send6F gate (user set)
  2745.  48h    DWORD    pointer into gate (user set)
  2746.  4Ch    DWORD    pointer into 10Net send
  2747.  50h  N WORDs    addresses of timer blocks
  2748.  
  2749. Bitfields for CT_PSFLG:
  2750. Bit(s)    Description    (Table 2359)
  2751.  5    PRINT permit
  2752.  4    KB initiated
  2753.  3    CHAT called FOXPTRM
  2754.  2    SUBMIT active
  2755.  1    SUBMIT received
  2756.  0    SUBMIT permit
  2757. --------N-6F04-------------------------------
  2758. INT 6F - 10NET - SEND
  2759.     AH = 04h
  2760.     DS:BX -> send record (see #2360)
  2761.     DS:DX -> data (max 1024 bytes)
  2762. Return:    CF clear if successful
  2763.     CF set on error
  2764.         AX = error code (see #2342)
  2765. SeeAlso: AH=05h,AH=09h,AH=0Ah
  2766.  
  2767. Format of 10NET send record:
  2768. Offset    Size    Description    (Table 2360)
  2769.  00h 12 BYTEs    receiving node's ID
  2770.         if first byte has high-order bit set, message is directed to
  2771.           the CT_RGATE vector at the receiver
  2772.         if second byte is 00h, first byte is taken as a CB
  2773.           channel number and delivered to all nodes on same channel
  2774.  0Ch    WORD     length of data at DX
  2775. --------b-6F04--BP0012-----------------------
  2776. INT 6F - HP Vectra EX-BIOS - "F_INS_BASEHPVT" - GET HP_VECTOR_TABLE ADDRESS
  2777.     AH = 04h
  2778.     BP = 0012h (driver ID for V_SYSTEM)
  2779. Return: AH = status (see #2346)
  2780.     ES = segment of HP_VECTOR_TABLE (see also AH=00h"HP Vectra")
  2781.     BP,DS destroyed
  2782. SeeAlso: AH=00h"HP Vectra",AH=06h"F_INS_XCHGFIX",AH=08h"F_INS_XCHGRSVD"
  2783. --------b-6F04--BP005A-----------------------
  2784. INT 6F - HP Vectra EX-BIOS - "F_TRACK_INIT" - RESET TRACKING DRIVER TO DEFAULTS
  2785.     AH = 04h
  2786.     BP = 005Ah (driver ID for V_STRACK)
  2787. Return: AH = status (see #2346)
  2788.     BP,DS destroyed
  2789. SeeAlso: AH=00h"HP Vectra",AH=06h"F_TRACK_ON",AH=08h"F_TRACK_OFF"
  2790. SeeAlso: AH=0Ah"F_DEF_MASKS",AH=0Ch"F_SET_LIMITS_X"
  2791. --------b-6F0400-----------------------------
  2792. INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_LOCK" - RESERVE SUB-ADDRESSES
  2793.     AX = 0400h
  2794.     BP = driver ID (see #2343)
  2795.     DH,DL = major,minor address (optional)
  2796. Return: AH = status (see #2346)
  2797.     BP,DS destroyed
  2798. Desc:    reserve specified sub-addresses on an already-allocated driver for
  2799.       exclusive access
  2800. Note:    this function is documented as present but unsupported in the drivers
  2801.       V_LTABLET, V_LPOINTER, and V_LTOUCH
  2802. SeeAlso: AH=02h"HP Vectra",AX=0402h"SF_UNLOCK"
  2803. --------b-6F0400BP001E-----------------------
  2804. INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_ENABLE_SVC" - UNMASK 8041 SVC INT
  2805.     AX = 0400h
  2806.     BP = 001Eh (driver ID for V_S8259)
  2807. Return: AH = status (see #2346)
  2808.     BP,DS destroyed
  2809. SeeAlso: AH=00h"HP Vectra",AX=0402h"SF_DISABLE_SVC",AX=0404h"SF_ENABLE_KBD"
  2810. SeeAlso: AX=0408h"SF_ENABLE_HPHIL"
  2811. --------b-6F0400BP002A-----------------------
  2812. INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_DEF_LINKS" - SET DEFAULT PARENTS
  2813.     AX = 0400h
  2814.     BP = 002Ah (driver ID for V_SINPUT)
  2815. Return: AH = status (see #2346)
  2816.     BP,DS destroyed
  2817. Desc:    set the parent vectors in the physical device driver headers to their
  2818.       system defaults
  2819. SeeAlso: AH=00h"HP Vectra",AX=0402h/BP=002Ah,AX=0404h/BP=002Ah
  2820. SeeAlso: AH=06h"F_INQUIRE"
  2821. --------b-6F0400BP0054-----------------------
  2822. INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_VID_ID_HP" - INSTALLATION CHECK
  2823.     AX = 0400h
  2824.     BP = 0054h (driver ID for V_SVIDEO)
  2825.     ???
  2826. Return: AH = status (see #2346)
  2827.     BX = 4850h ('BP')
  2828.     BP,DS destroyed
  2829.     ???
  2830. Note:    only partially documented
  2831. SeeAlso: AX=0402h/BP=0054h,AX=0404h/BP=0054h,AX=0406h/BP=0054h
  2832. SeeAlso: AX=0408h/BP=0054h,AX=040Ah/BP=0054h
  2833. --------b-6F0400BP00CC-----------------------
  2834. INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_MOUSE_COM" - INIT INT 33 HANDLER
  2835.     AX = 0400h
  2836.     BP = 00CCh (driver ID for V_LHPMOUSE)
  2837. Return: AH = status (see #2346)
  2838.     BP,DS destroyed
  2839. SeeAlso: AH=00h"HP Vectra",AX=0402h/BP=00CCh
  2840. --------b-6F0402-----------------------------
  2841. INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_UNLOCK" - RELEASE SUB-ADDRESSES
  2842.     AX = 0402h
  2843.     BP = driver ID (see #2343)
  2844.     DH,DL = major,minor address (optional)
  2845. Return: AH = status (see #2346)
  2846.     BP,DS destroyed
  2847. Desc:    release specified sub-addresses from exclusive access
  2848. Note:    this function is documented as present but unsupported in the drivers
  2849.       V_LTABLET, V_LPOINTER, and VLTOUCH
  2850. SeeAlso: AH=02h"HP Vectra",AX=0400h"SF_LOCK"
  2851. --------b-6F0402BP001E-----------------------
  2852. INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_DISABLE_SVC" - MASK 8041 SVC INT
  2853.     AX = 0402h
  2854.     BP = 001Eh (driver ID for V_S8259)
  2855. Return: AH = status (see #2346)
  2856.     BP,DS destroyed
  2857. SeeAlso: AH=00h"HP Vectra",AX=0400h/BP=001Eh,AX=0406h/BP=001Eh
  2858. SeeAlso: AX=040Ah/BP=001Eh
  2859. --------b-6F0402BP002A-----------------------
  2860. INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_GET_LINKS" - GET DRIVER LINK FIELDS
  2861.     AX = 0402h
  2862.     BP = 002Ah (driver ID for V_SINPUT)
  2863.     ES:SI -> buffer for link table (see #2361)
  2864. Return: AH = status (see #2346)
  2865.     ES:SI buffer filled
  2866.     BP,DS destroyed
  2867. Desc:    get the parent and child vectors for the seven supported physical
  2868.       device drivers
  2869. SeeAlso: AH=00h"HP Vectra",AX=0400h"SF_DEF_LINKS",AX=0404h"SF_SET_LINKS"
  2870. SeeAlso: AH=06h"F_INQUIRE"
  2871.  
  2872. Format of HP Vectra EX-BIOS driver link table:
  2873. Offset    Size    Description    (Table 2361)
  2874.  00h    BYTE    vector number of HP-HIL device #1's child
  2875.  01h    BYTE    vector number of HP-HIL device #1's parent
  2876.     ...
  2877.  0Ch    BYTE    vector number of HP-HIL device #7's child
  2878.  0Dh    BYTE    vector number of HP-HIL device #7's parent
  2879. --------b-6F0402BP0054-----------------------
  2880. INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_VID_GET_INFO" - GET DISPLAY INFO
  2881.     AX = 0402h
  2882.     BP = 0054h (driver ID for V_SVIDEO)
  2883.     ???
  2884. Return: AH = status (see #2346)
  2885.     BP,DS destroyed
  2886.     ???
  2887. Note:    only partially documented
  2888. SeeAlso: AX=0400h/BP=0054h,AX=0404h/BP=0054h,AX=0406h/BP=0054h
  2889. SeeAlso: AX=0408h/BP=0054h,AX=040Ah/BP=0054h
  2890. --------b-6F0402BP00CC-----------------------
  2891. INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_MOUSE_COM" - FORCE INT 33 INIT
  2892.     AX = 0402h
  2893.     BP = 00CCh (driver ID for V_LHPMOUSE)
  2894. Return: AH = status (see #2346)
  2895.     BP,DS destroyed
  2896. Desc:    set up INT 33 even if no mouse is installed
  2897. SeeAlso: AH=00h"HP Vectra",AX=0400h/BP=00CCh
  2898. --------b-6F0404-----------------------------
  2899. INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_TRACK_ON" - GRAPHICS CURSOR ON
  2900.     AX = 0404h
  2901.     BP = driver ID (see #2343) for V_LPOINTER, V_LTOUCH, V_LTABLET
  2902. Return: AH = status (see #2346)
  2903.     BP,DS destroyed
  2904. Desc:    enables graphics cursor tracking of the logical device's movement
  2905. SeeAlso: AH=00h"HP Vectra",AX=0400h,AX=0406h"SF_TRACK_OFF"
  2906. --------b-6F0404BP001E-----------------------
  2907. INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_ENABLE_KBD" - UNMASK 8041 OBF INT
  2908.     AX = 0404h
  2909.     BP = 001Eh (driver ID for V_S8259)
  2910. Return: AH = status (see #2346)
  2911.     BP,DS destroyed
  2912. SeeAlso: AH=00h"HP Vectra",AX=0400h"SF_ENABLE_SVC",AX=0406h"SF_DISABLE_KBD"
  2913. SeeAlso: AX=0408h"SF_ENABLE_HPHIL"
  2914. --------b-6F0404BP002A-----------------------
  2915. INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_SET_LINKS" - SET DRIVER LINK FIELDS
  2916.     AX = 0404h
  2917.     BP = 002Ah (driver ID for V_SINPUT)
  2918.     ES:SI -> buffer containing link table (see #2361)
  2919. Return: AH = status (see #2346)
  2920.     BP,DS destroyed
  2921. Desc:    specify the parent and child vectors for the seven supported physical
  2922.       device drivers
  2923. SeeAlso: AH=00h"HP Vectra",AX=0400h"SF_DEF_LINKS",AX=0402h"SF_GET_LINKS"
  2924. SeeAlso: AH=06h"F_INQUIRE"
  2925. --------b-6F0404BP0054-----------------------
  2926. INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_VID_SET_INFO" - SET EXT-CTRL INFO
  2927.     AX = 0404h
  2928.     BP = 0054h (driver ID for V_SVIDEO)
  2929.     ???
  2930. Return: AH = status (see #2346)
  2931.     BP,DS destroyed
  2932.     ???
  2933. Note:    only partially documented
  2934. SeeAlso: AX=0400h/BP=0054h,AX=0402h/BP=0054h,AX=0406h/BP=0054h
  2935. SeeAlso: AX=0408h/BP=0054h,AX=040Ah/BP=0054h
  2936. --------b-6F0406-----------------------------
  2937. INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_TRACK_OFF" - GRAPHICS CURSOR OFF
  2938.     AX = 0406h
  2939.     BP = driver ID (see #2343) for V_LPOINTER, V_LTOUCH, V_LTABLET
  2940. Return: AH = status (see #2346)
  2941.     BP,DS destroyed
  2942. Desc:    disables graphics cursor tracking of the logical device's movement
  2943. SeeAlso: AH=00h"HP Vectra",AX=0400h,AX=0404h"SF_TRACK_ON"
  2944. SeeAlso: AX=0408h"SF_CREATE_EVENT"
  2945. --------b-6F0406BP001E-----------------------
  2946. INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_DISABLE_KBD" - MASK 8041 OBF INT
  2947.     AX = 0406h
  2948.     BP = 001Eh (driver ID for V_S8259)
  2949. Return: AH = status (see #2346)
  2950.     BP,DS destroyed
  2951. SeeAlso: AH=00h"HP Vectra",AX=0402h"SF_DISABLE_SVC",AX=0404h"SF_ENABLE_KBD"
  2952. SeeAlso: AX=040Ah"SF_DISABLE_HPHIL"
  2953. --------b-6F0406BP0054-----------------------
  2954. INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_VID_MOD_INFO" - SET EXT-CTRL REG
  2955.     AX = 0406h
  2956.     BP = 0054h (driver ID for V_SVIDEO)
  2957.     ???
  2958. Return: AH = status (see #2346)
  2959.     BP,DS destroyed
  2960.     ???
  2961. Note:    only partially documented
  2962. SeeAlso: AX=0400h/BP=0054h,AX=0402h/BP=0054h,AX=0404h/BP=0054h
  2963. SeeAlso: AX=0408h/BP=0054h,AX=040Ah/BP=0054h
  2964. --------b-6F0406BP0114-----------------------
  2965. INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CRV_RECONFIGURE" - RECONFIG LINK
  2966.     AX = 0406h
  2967.     BP = 0114h (driver ID for V_HPHIL)
  2968. Return: AH = status (see #2346)
  2969.     BP,DS destroyed
  2970. SeeAlso: AH=00h"HP Vectra",AX=020Eh,AX=0408h"SF_CRV_WR_PROMPTS"
  2971. SeeAlso: AX=0410h"SF_CRV_SELF_TEST"
  2972. --------b-6F0408-----------------------------
  2973. INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CREATE_EVENT" - SET EVENT HANDLER
  2974.     AX = 0408h
  2975.     BP = driver ID (see #2343) for V_LPOINTER, V_LTOUCH, V_LTABLET
  2976.     ES:SI -> new event handler (see AH=00h"HP Vectra")
  2977.     DX = new handler's DS
  2978. Return: AH = status (see #2346)
  2979.     ES:SI -> old event handler
  2980.     DX = old handler's DS
  2981.     BP,DS destroyed
  2982. Desc:    specify routine to be called on logical device events
  2983. Note:    when events occur, the event handler is called with the same registers
  2984.       as the "F_ISR" function on AH=00h"HP Vectra"
  2985. SeeAlso: AH=00h"HP Vectra",AX=0400h,AX=0406h"SF_TRACK_OFF"
  2986. SeeAlso: AX=040Ah"SF_EVENT_ON",AX=040Ch"SF_EVENT_OFF",AH=06h"F_SAMPLE"
  2987. --------b-6F0408BP001E-----------------------
  2988. INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_ENABLE_HPHIL" - UNMASK HP-HIL INT
  2989.     AX = 0408h
  2990.     BP = 001Eh (driver ID for V_S8259)
  2991. Return: AH = status (see #2346)
  2992.     BP,DS destroyed
  2993. SeeAlso: AH=00h"HP Vectra",AX=0400h/BP=001Eh,AX=0404h/BP=001Eh
  2994. SeeAlso: AX=040Ah/BP=001Eh
  2995. --------b-6F0408BP0054-----------------------
  2996. INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_VID_GET_RES" - GET VIDMODE RESOLUTN
  2997.     AX = 0408h
  2998.     BP = 0054h (driver ID for V_SVIDEO)
  2999.     ???
  3000. Return: AH = status (see #2346)
  3001.     BP,DS destroyed
  3002.     ???
  3003. Note:    only partially documented
  3004. SeeAlso: AX=0400h/BP=0054h,AX=0402h/BP=0054h,AX=0404h/BP=0054h
  3005. SeeAlso: AX=0406h/BP=0054h,AX=040Ah/BP=0054h
  3006. --------b-6F0408BP0114-----------------------
  3007. INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CRV_WR_PROMPTS" - WRITE PROMPT
  3008.     AX = 0408h
  3009.     BP = 0114h (driver ID for V_HPHIL)
  3010.     BX = device address indicator (see #2362)
  3011.     DH = HP HIL device major address
  3012.     DL = prompt number
  3013. Return: AH = status (see #2346)
  3014.     BP,DS destroyed
  3015. SeeAlso: AH=00h"HP Vectra",AX=020Eh,AX=0406h/BP=0114h,AX=040Ah/BP=0114h
  3016.  
  3017. Bitfields for HP Vectra V_HPHIL device address indicator:
  3018. Bit(s)    Description    (Table 2362)
  3019.  15-14    reserved
  3020.  13    address in DH is valid (must be set, clear is reserved)
  3021.  12    valid value in DL
  3022.  11-0    reserved
  3023. --------b-6F040A-----------------------------
  3024. INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_EVENT_ON" - ENABLE EVENT HANDLER
  3025.     AX = 040Ah
  3026.     BP = driver ID (see #2343) for V_LPOINTER, V_LTOUCH, V_LTABLET
  3027. Return: AH = status (see #2346)
  3028.     BP,DS destroyed
  3029. SeeAlso: AH=00h"HP Vectra",AX=0408h"SF_CREATE_EVENT",AX=040Ch"SF_EVENT_OFF"
  3030. SeeAlso: AX=040Eh"SF_CLIPPING_ON"
  3031. --------b-6F040ABP001E-----------------------
  3032. INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_DISABLE_HPHIL" - MASK HP-HIL INT
  3033.     AX = 040Ah
  3034.     BP = 001Eh (driver ID for V_S8259)
  3035. Return: AH = status (see #2346)
  3036.     BP,DS destroyed
  3037. SeeAlso: AH=00h"HP Vectra",AX=0402h/BP=001Eh,AX=0406h/BP=001Eh
  3038. SeeAlso: AX=0408h/BP=001Eh
  3039. --------b-6F040ABP0054-----------------------
  3040. INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_VID_SET_MODE" - SET VIDEO MODE
  3041.     AX = 040Ah
  3042.     BP = 0054h (driver ID for V_SVIDEO)
  3043.     ???
  3044. Return: AH = status (see #2346)
  3045.     BP,DS destroyed
  3046.     ???
  3047. Note:    only partially documented
  3048. SeeAlso: AX=0400h/BP=0054h,AX=0402h/BP=0054h,AX=0404h/BP=0054h
  3049. SeeAlso: AX=0406h/BP=0054h,AX=0408h/BP=0054h
  3050. --------b-6F040ABP00AE-----------------------
  3051. INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CREATE_INTR" - CREATE INTERVAL ENTRY
  3052.     AX = 040Ah
  3053.     BP = 00AEh (driver ID for V_8041)
  3054.     BH = vector number of driver to be called regularly (vector addr / 6)
  3055. Return: AH = status (see #2346)
  3056.     BP,DS destroyed
  3057. Desc:    add a driver to the list (max eight) of drivers which will be called
  3058.       by the HP's 8041 at 60 Hz
  3059. Note:    the newly added entry will not be called until enabled with
  3060.       AX=040Eh/BP=00AEh
  3061. SeeAlso: AH=00h"HP Vectra",AX=040Ch/BP=00AEh,AX=040Eh/BP=00AEh
  3062. SeeAlso: AX=0412h/BP=00AEh,AX=0416h/BP=00AEh,AX=041Ah/BP=00AEh
  3063. --------b-6F040ABP0114-----------------------
  3064. INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CRV_WR_ACK" - ACKNOWLEDGE DEVICE
  3065.     AX = 040Ah
  3066.     BP = 0114h (driver ID for V_HPHIL)
  3067.     BX = device address indicator (see #2362)
  3068.     DH = HP HIL device major address
  3069.     DL = acknowledge number (specific if 01h-07h, generic otherwise)
  3070. Return: AH = status (see #2346)
  3071.     BP,DS destroyed
  3072. SeeAlso: AH=00h"HP Vectra",AX=0406h/BP=0114h,AX=040Ch/BP=0114h
  3073. --------b-6F040C-----------------------------
  3074. INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_EVENT_OFF" - DISABLE EVENT HANDLER
  3075.     AX = 040Ch
  3076.     BP = driver ID (see #2343) for V_LPOINTER, V_LTOUCH, V_LTABLET
  3077. Return: AH = status (see #2346)
  3078.     BP,DS destroyed
  3079. SeeAlso: AH=00h"HP Vectra",AX=0408h"SF_CREATE_EVENT",AX=040Ah"SF_EVENT_ON"
  3080. --------b-6F040CBP00AE-----------------------
  3081. INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_DELET_INTR" - DELETE INTERVAL ENTRY
  3082.     AX = 040Ch
  3083.     BP = 00AEh (driver ID for V_8041)
  3084.     BH = vector number of driver to be removed (vector addr / 6)
  3085. Return: AH = status (see #2346)
  3086.     BP,DS destroyed
  3087. Desc:    remove a driver to the list (max eight) of drivers which will be called
  3088.       by the HP's 8041 at 60 Hz
  3089. SeeAlso: AH=00h"HP Vectra",AX=040Ah/BP=00AEh,AX=0410h/BP=00AEh
  3090. SeeAlso: AX=0412h/BP=00AEh,AX=0416h/BP=00AEh,AX=041Ah/BP=00AEh
  3091. --------b-6F040CBP0114-----------------------
  3092. INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CRV_REPEAT" - SET KEY REPEAT RATE
  3093.     AX = 040Ch
  3094.     BP = 0114h (driver ID for V_HPHIL)
  3095.     BX = device address indicator (see #2362)
  3096.     DH = HP HIL device major address
  3097.     DL = repeat rate (00h = 30 Hz, 01h = 60 Hz)
  3098. Return: AH = status (see #2346)
  3099.     BP,DS destroyed
  3100. Note:    this function is only available if the driver is in the open state
  3101.       (see AX=020Eh"SF_OPEN")
  3102. SeeAlso: AH=00h"HP Vectra",AX=040Ah/BP=0114h,AX=040Eh/BP=0114h
  3103. --------b-6F040E-----------------------------
  3104. INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CLIPPING_ON" - ENABLE CLIPPING
  3105.     AX = 040Eh
  3106.     BP = driver ID (see #2343) for V_LPOINTER, V_LTOUCH, V_LTABLET
  3107. Return: AH = status (see #2346)
  3108.     BP,DS destroyed
  3109. Desc:    causes the physical device's motion to be clipped to prevent overflow
  3110.       or underflow of the logical position
  3111. SeeAlso: AH=00h"HP Vectra",AX=040Ah"SF_EVENT_ON",AX=0410h"SF_CLIPPING_OFF"
  3112. --------b-6F040EBP00AE-----------------------
  3113. INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_ENABL_INTR" - START INTERRUPT SRVICE
  3114.     AX = 040Eh
  3115.     BP = 00AEh (driver ID for V_8041)
  3116.     BH = vector number of driver to be called regularly (vector addr / 6)
  3117. Return: AH = status (see #2346)
  3118.     BP,DS destroyed
  3119. Desc:    enable 60 Hz calling of a driver previously added to the list of
  3120.       drivers to be called by the HP's 8041
  3121. SeeAlso: AH=00h"HP Vectra",AX=040Ah/BP=00AEh,AX=0410h/BP=00AEh
  3122. SeeAlso: AX=0412h/BP=00AEh,AX=0416h/BP=00AEh,AX=041Ah/BP=00AEh
  3123. --------b-6F040EBP0114-----------------------
  3124. INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CRV_DISABLE_REPEAT" - KEY REPT OFF
  3125.     AX = 040Eh
  3126.     BP = 0114h (driver ID for V_HPHIL)
  3127.     BX = device address indicator (see #2362)
  3128.     DH = HP HIL device major address
  3129. Return: AH = status (see #2346)
  3130.     BP,DS destroyed
  3131. Note:    this function is only available if the driver is in the open state
  3132.       (see AX=020Eh"SF_OPEN")
  3133. SeeAlso: AH=00h"HP Vectra",AX=040Ch/BP=0114h,AX=0410h/BP=0114h
  3134. SeeAlso: AX=0416h/BP=0114h
  3135. --------b-6F0410-----------------------------
  3136. INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CLIPPING_OFF" - DISABLE CLIPPING
  3137.     AX = 0410h
  3138.     BP = driver ID (see #2343) for V_LPOINTER, V_LTOUCH, V_LTABLET
  3139. Return: AH = status (see #2346)
  3140.     BP,DS destroyed
  3141. Desc:    disables clipping of the physical device's motion, which may cause
  3142.       overflow or underflow of the logical position
  3143. SeeAlso: AH=00h"HP Vectra",AX=040Ah"SF_EVENT_ON",AX=040Eh"SF_CLIPPING_ON"
  3144. --------b-6F0410BP00AE-----------------------
  3145. INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_DISBL_INTR" - END INTERRUPT SERVICE
  3146.     AX = 0410h
  3147.     BP = 00AEh (driver ID for V_8041)
  3148.     BH = vector number of driver (vector addr / 6)
  3149. Return: AH = status (see #2346)
  3150.     BP,DS destroyed
  3151. Desc:    disable 60 Hz interval calls to the specified driver
  3152. SeeAlso: AH=00h"HP Vectra",AX=040Ch/BP=00AEh,AX=040Eh/BP=00AEh
  3153. SeeAlso: AX=0412h/BP=00AEh,AX=0416h/BP=00AEh,AX=041Ah/BP=00AEh
  3154. --------b-6F0410BP0114-----------------------
  3155. INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CRV_SELF_TEST" - PERFORM SELFTEST
  3156.     AX = 0410h
  3157.     BP = 0114h (driver ID for V_HPHIL)
  3158.     BX = device address indicator (see #2362)
  3159.     DH = HP HIL device major address
  3160.     ES:SI -> buffer for result
  3161. Return: AH = status (see #2346)
  3162.     CX = number of bytes in buffer
  3163.     BP,DS destroyed
  3164. Note:    this function is only available if the driver is in the open state
  3165.       (see AX=020Eh"SF_OPEN")
  3166. SeeAlso: AH=00h"HP Vectra",AX=040Ch/BP=0114h,AX=0412h/BP=0114h
  3167. --------b-6F0412BP00AE-----------------------
  3168. INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_SET_RAMSW" - SET RAM SWITCH IN 8041
  3169.     AX = 0412h
  3170.     BP = 00AEh (driver ID for V_8041)
  3171. Return: AH = status (see #2346)
  3172.     BP,DS destroyed
  3173. Desc:    sets a flag in the 8041 indicating that a second 256K bank of RAM
  3174.       on the motherboard is enabled
  3175. SeeAlso: AH=00h"HP Vectra",AX=040Ch/BP=00AEh,AX=040Eh/BP=00AEh
  3176. SeeAlso: AX=0414h/BP=00AEh,AX=0416h/BP=00AEh,AX=041Ah/BP=00AEh
  3177. --------b-6F0412BP0114-----------------------
  3178. INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CRV_REPORT_STATUS" - GET DEVSTATUS
  3179.     AX = 0412h
  3180.     BP = 0114h (driver ID for V_HPHIL)
  3181.     BX = device address indicator (see #2362)
  3182.     DH = HP HIL device major address
  3183.     ES:SI -> 15-byte buffer for status
  3184. Return: AH = status (see #2346)
  3185.     CX = number of bytes returned in buffer
  3186.     BP,DS destroyed
  3187. Note:    this function is only available if the driver is in the open state
  3188.       (see AX=020Eh"SF_OPEN")
  3189. SeeAlso: AH=00h"HP Vectra",AX=0410h/BP=0114h,AX=0414h/BP=0114h
  3190. --------b-6F0414BP00AE-----------------------
  3191. INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CLR_RAMSW" - CLEAR 8041 RAM SWITCH
  3192.     AX = 0414h
  3193.     BP = 00AEh (driver ID for V_8041)
  3194. Return: AH = status (see #2346)
  3195.     BP,DS destroyed
  3196. Desc:    clears a flag in the 8041 indicating that a second 256K bank of RAM
  3197.       on the motherboard is enabled, causing the second bank to be disabled
  3198. Note:    this function should normally never be called
  3199. SeeAlso: AH=00h"HP Vectra",AX=040Ch/BP=00AEh,AX=040Eh/BP=00AEh
  3200. SeeAlso: AX=0412h/BP=00AEh,AX=0418h/BP=00AEh,AX=041Ah/BP=00AEh
  3201. --------b-6F0414BP0114-----------------------
  3202. INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CRV_REPORT_NAME" - GET DEV NAME
  3203.     AX = 0414h
  3204.     BP = 0114h (driver ID for V_HPHIL)
  3205.     BX = device address indicator (see #2362)
  3206.     DH = HP HIL device major address
  3207.     ES:SI -> 15-byte buffer for name
  3208. Return: AH = status (see #2346)
  3209.     CX = number of bytes returned in buffer
  3210.     BP,DS destroyed
  3211. Note:    this function is only available if the driver is in the open state
  3212.       (see AX=020Eh"SF_OPEN")
  3213. SeeAlso: AH=00h"HP Vectra",AX=0412h/BP=0114h
  3214. --------b-6F0416BP00AE-----------------------
  3215. INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_SET_CRTSW" - SET CRT TO MULTIMODE
  3216.     AX = 0416h
  3217.     BP = 00AEh (driver ID for V_8041)
  3218. Return: AH = status (see #2346)
  3219.     BP,DS destroyed
  3220. Desc:    sets a flag in the 8041 indicating that the primary display is the
  3221.       Multimode graphics adapter (default)
  3222. SeeAlso: AH=00h"HP Vectra",AX=040Ch/BP=00AEh,AX=040Eh/BP=00AEh
  3223. SeeAlso: AX=0412h/BP=00AEh,AX=0418h/BP=00AEh,AX=041Ah/BP=00AEh
  3224. --------b-6F0416BP0114-----------------------
  3225. INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_KEYBOARD_REPEAT" - SET TYPEMATIC
  3226.     AX = 0416h
  3227.     BP = 0114h (driver ID for V_HPHIL)
  3228.     BH = what to set (00h typematic rate, 01h delay, 02h both)
  3229.     BL = flag (00h = non-CCP keypad, 01h = Cursor Control Pad only)
  3230.     DL = rate
  3231.         bits 7-4: delay value    
  3232.         bits 3-0: typematic rate
  3233. Return: AH = status (see #2346)
  3234.     BP,DS destroyed
  3235. SeeAlso: AH=00h"HP Vectra",AX=040Eh/BP=0114h,AX=0418h/BP=0114h
  3236. --------b-6F0418BP00AE-----------------------
  3237. INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CLR_CRTSW" - SET CRT TO MONOCHROME
  3238.     AX = 0418h
  3239.     BP = 00AEh (driver ID for V_8041)
  3240. Return: AH = status (see #2346)
  3241.     BP,DS destroyed
  3242. Desc:    clears a flag in the 8041, indicating that the primary display is the
  3243.       monochrome adapter
  3244. SeeAlso: AH=00h"HP Vectra",AX=040Ch/BP=00AEh,AX=040Eh/BP=00AEh
  3245. SeeAlso: AX=0414h/BP=00AEh,AX=0416h/BP=00AEh,AX=041Ah/BP=00AEh
  3246. --------b-6F0418BP0114-----------------------
  3247. INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_KEYBOARD_LED" - SET KEYBOARD LEDS
  3248.     AX = 0418h
  3249.     BP = 0114h (driver ID for V_HPHIL)
  3250.     BL = new LED states
  3251.         bit 0: scroll lock
  3252.         bit 1: NumLock
  3253.         bit 2: CapsLock
  3254. Return: AH = status (see #2346)
  3255.     BP,DS destroyed
  3256. SeeAlso: AH=00h"HP Vectra",AX=040Eh/BP=0114h,AX=0416h/BP=0114h
  3257. --------b-6F041ABP00AE-----------------------
  3258. INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_PASS_THRU" - SEND DATA BYTE TO 8041
  3259.     AX = 041Ah
  3260.     BP = 00AEh (driver ID for V_8041)
  3261.     BL = byte to send to 8041
  3262. Return: AH = status (see #2346)
  3263.     BP,DS destroyed
  3264. SeeAlso: AH=00h"HP Vectra",AX=040Ah/BP=00AEh,AX=040Eh/BP=00AEh
  3265. --------N-6F05-------------------------------
  3266. INT 6F - 10NET - RECEIVE
  3267.     AH = 05h
  3268.     CX = number of seconds before timeout
  3269.     DS:DX -> receive buffer (see #2363)
  3270. Return:    CF clear if successful
  3271.         AH = FEh if dequeued message is a CB message
  3272.     CF set on error
  3273.         AX = error code (see #2342)
  3274. SeeAlso: AH=04h"10NET"
  3275.  
  3276. Format of 10NET receive buffer:
  3277. Offset    Size    Description    (Table 2363)
  3278.  00h 12 BYTEs    sending node's ID
  3279.  0Ch    WORD    length of message
  3280.  0Eh  N BYTEs    message (maximum 1024 bytes)
  3281. --------b-6F06-------------------------------
  3282. INT 6F - HP Vectra EX-BIOS - "F_PUT_BYTE" - WRITE A BYTE OF DATA TO DEVICE
  3283.     AH = 06h
  3284.     BP = driver ID (see #2343) for V_HPHIL, others
  3285.     AL = value to output
  3286.     ---if driver is V_HPHIL---
  3287.     BX = device address indicator (see #2362)
  3288.     DH = HP HIL device major address
  3289.     DL = HP-HIL device register (00h-7Fh)
  3290. Return: AH = status (see #2346)
  3291.     BP,DS destroyed
  3292. Desc:    output a byte to a specific HP-HIL device register
  3293. Note:    this function is only available if the driver is in the open state
  3294.       (see AX=020Eh"SF_OPEN")
  3295. SeeAlso: AH=04h"HP Vectra",AH=08h"F_GET_BYTE",AH=0Ah"F_PUT_BUFFER"
  3296. --------b-6F06-------------------------------
  3297. INT 6F - HP Vectra EX-BIOS - "F_SAMPLE" - POLL CURRENT ABSOLUTE POSITION
  3298.     AH = 06h
  3299.     BP = driver ID (see #2343) for V_LTOUCH, V_LPOINTER, V_LTABLET, etc.
  3300. Return: AH = status (see #2346)
  3301.     BX = current logical X position
  3302.     CX = current logical Y position
  3303.     DL = button transitions (bit N = button N state has changed)
  3304.     DH = current button states (bit N = current button N state)
  3305.     ES:0000h -> logical device's Describe Record (see #2351)
  3306.     BP,DS destroyed
  3307. SeeAlso: AH=00h"HP Vectra",AX=040Ah"SF_EVENT_ON",AX=040Eh"SF_CLIPPING_ON"
  3308. --------b-6F06--BP0012-----------------------
  3309. INT 6F - HP Vectra EX-BIOS - "F_INS_XCHGFIX" - EXCH VALUES WITH FIXED VECTOR
  3310.     AH = 06h
  3311.     BP = 0012h (driver ID for V_SYSTEM)
  3312.     BX = vector address
  3313.     DX = new value for DS
  3314.     ES:DI -> new CS:IP entry point
  3315. Return: AH = status (see #2346)
  3316.     DX = old value for DS
  3317.     ES:DI -> old CS:IP entry point
  3318.     BP,DS destroyed
  3319. Desc:    replace an existing EX-BIOS driver at a fixed HPVT location without
  3320.       initialization
  3321. SeeAlso: AH=00h"HP Vectra",AH=04h"F_INS_BASEHPVT",AH=08h"F_INS_XCHGRSVD"
  3322. SeeAlso: AH=0Ah"F_INS_XCHGFREE",AH=0Ch"F_INS_FIXOWNDS"
  3323. --------b-6F06--BP002A-----------------------
  3324. INT 6F - HP Vectra EX-BIOS - "F_INQUIRE" - GET DRIVER PHYSICAL DESCRIBE RECORD
  3325.     AH = 06h
  3326.     BP = 002Ah (driver ID for V_SINPUT)
  3327.     AL = HP-HIL physical device number (01h-07h)
  3328. Return: AH = status (see #2346)
  3329.     ES:SI -> physical describe record for driver
  3330.     BP,DS destroyed
  3331. Note:    the returned physical describe record must not be modified
  3332. SeeAlso: AH=00h"HP Vectra",AX=0400h/BP=002Ah,AH=08h/BP=002Ah,AH=0Ah/BP=002Ah
  3333. SeeAlso: AH=0Ch/BP=002Ah
  3334. --------b-6F06--BP005A-----------------------
  3335. INT 6F - HP Vectra EX-BIOS - "F_TRACK_ON" - ENABLE CURSOR TRACKING
  3336.     AH = 06h
  3337.     BP = 005Ah (driver ID for V_STRACK)
  3338. Return: AH = status (see #2346)
  3339.     BP,DS destroyed
  3340. SeeAlso: AH=00h"HP Vectra",AH=04h"F_TRACK_INIT",AH=08h"F_TRACK_OFF"
  3341. SeeAlso: AH=0Ah"F_DEF_MASKS",AH=0Ch"F_SET_LIMITS_X"
  3342. --------N-6F07-------------------------------
  3343. INT 6F - 10NET - LOCK HANDLE
  3344.     AH = 07h
  3345.     BX = file handle
  3346.     CX:DX = starting offset in file
  3347.     SI = record length
  3348. Return:    CF clear if successful
  3349.     CF set on error
  3350.         AX = error code (see also AH=00h)
  3351.         0002h file not found
  3352. SeeAlso: AH=08h"10NET",AH=0Fh,INT 21/AH=5Ch
  3353. --------N-6F08-------------------------------
  3354. INT 6F - 10NET - UNLOCK HANDLE
  3355.     AH = 08h
  3356.     BX = file handle
  3357.     AL = mode
  3358.         00h unlock all
  3359.         01h unlock record at CX:DX
  3360. Return:    CF clear if successful
  3361.     CF set on error
  3362.         AX = error code (see also AH=00h)
  3363.         0002h file not found
  3364. SeeAlso: AH=07h,AH=0Fh,INT 21/AH=5Ch
  3365. --------b-6F08-------------------------------
  3366. INT 6F - HP Vectra EX-BIOS - "F_GET_BYTE" - READ A BYTE OF DATA FROM DEVICE
  3367.     AH = 08h
  3368.     BP = driver ID (see #2343) for V_HPHIL (0114h), others
  3369.     ---if device is V_HPHIL---
  3370.     BX = device address indicator (see #2362)
  3371.     DH = HP HIL device major address
  3372.     DL = HP-HIL device register (00h-7Fh)
  3373. Return: AH = status (see #2346)
  3374.     AL = value read from device
  3375.     BP,DS destroyed
  3376. Desc:    generic read-byte function; for driver V_HPHIL, retrieves the value
  3377.       of a specific HP-HIL device register
  3378. Note:    this function is only available if the driver is in the open state
  3379.       (see AX=020Eh"SF_OPEN")
  3380. SeeAlso: AH=06h"F_PUT_BYTE",AH=0Ah"F_PUT_BUFFER",AH=0Ch"F_GET_BUFFER"
  3381. --------b-6F08--BP0012-----------------------
  3382. INT 6F - HP Vectra EX-BIOS - "F_INS_XCHGRSVD" - EXCH VALUES WITH RESRVED VECTOR
  3383.     AH = 08h
  3384.     BP = 0012h (driver ID for V_SYSTEM)
  3385.     DX = new value for DS
  3386.     ES:DI -> new CS:IP entry point
  3387. Return: AH = status (00h,F6h) (see also #2346)
  3388.         00h successful
  3389.         BX = vector address used
  3390.         DX = old value for DS
  3391.         ES:DI -> old CS:IP entry point
  3392.     BP,DS destroyed
  3393. Desc:    exchange the supplied entry point and DS with the values in the next
  3394.       reserved entry in the HP_VECTOR_TABLE
  3395. Note:    returns AH=F6h if no more reserved vectors are available
  3396. SeeAlso: AH=00h"HP Vectra",AH=04h/BP=0012h,AH=06h/BP=0012h,AH=0Ah/BP=0012h
  3397. SeeAlso: AH=0Ch/BP=0012h
  3398. --------b-6F08--BP002A-----------------------
  3399. INT 6F - HP Vectra EX-BIOS - "F_INQUIRE_ALL" - GET DRIVER STATUS TABLE
  3400.     AH = 08h
  3401.     BP = 002Ah (driver ID for V_SINPUT)
  3402.     ES:SI -> buffer for device status table (see #2364)
  3403. Return: AH = status (see #2346)
  3404.     ES:SI buffer filled
  3405.     BP,DS destroyed
  3406. Note:    the returned physical describe record must not be modified
  3407. SeeAlso: AH=00h"HP Vectra",AX=0400h/BP=002Ah,AH=06h/BP=002Ah,AH=0Ah/BP=002Ah
  3408. SeeAlso: AH=0Ch/BP=002Ah
  3409.  
  3410. Format of HP Vectra HP-HIL physical device status table:
  3411. Offset    Size    Description    (Table 2364)
  3412.  00h    BYTE    status for HP-HIL device #1
  3413.         bit 0: device present
  3414.         bits 7-2 reserved
  3415.  01h    BYTE    device ID for HP-HIL device #1
  3416.     ...
  3417.  0Ch    BYTE    status for HP-HIL device #7
  3418.  0Dh    BYTE    device ID for HP-HIL device #7
  3419. --------b-6F08--BP005A-----------------------
  3420. INT 6F - HP Vectra EX-BIOS - "F_TRACK_OFF" - DISABLE CURSOR TRACKING
  3421.     AH = 08h
  3422.     BP = 005Ah (driver ID for V_STRACK)
  3423. Return: AH = status (see #2346)
  3424.     BP,DS destroyed
  3425. Note:    also removes the graphics cursor sprite from the screen
  3426. SeeAlso: AH=00h"HP Vectra",AH=04h"F_TRACK_INIT",AH=06h"F_TRACK_ON"
  3427. SeeAlso: AH=0Ah"F_DEF_MASKS",AH=0Ch"F_SET_LIMITS_X"
  3428. --------N-6F09-------------------------------
  3429. INT 6F - 10NET - SUBMIT
  3430.     AH = 09h
  3431.     DS:BX -> submit record (see #2365)
  3432. SeeAlso: AH=04h"10NET"
  3433.  
  3434. Format of 10NET submit record:
  3435. Offset    Size    Description    (Table 2365)
  3436.  00h 12 BYTEs    destination node ID (must be logged in)
  3437.  0Ch    WORD    length+2 of following 'command line' text
  3438.  0Eh  N BYTEs    command line text (<=100 bytes), system adds CR
  3439. --------N-6F0A-------------------------------
  3440. INT 6F - 10NET - CHAT
  3441.     AH = 0Ah
  3442.     DS:BX -> control parameters (see #2366)
  3443.     DS:DX -> chat message (see #2367)
  3444. SeeAlso: AH=04h"10NET",AH=8Ah
  3445.  
  3446. Format of 10NET chat control parameters:
  3447. Offset    Size    Description    (Table 2366)
  3448.  00h  8 BYTEs    sender ID, defaults to node's userID if nulls
  3449.  08h  8 BYTEs    destination user ID, 'EVERYONE' may be used
  3450.  10h 12 BYTEs    destination node ID
  3451.  
  3452. Format of 10NET chat message:
  3453. Offset    Size    Description    (Table 2367)
  3454.  00h    WORD    length+2 of following text
  3455.  02h  N BYTEs    text, max 101 bytes
  3456. --------b-6F0A-------------------------------
  3457. INT 6F - HP Vectra EX-BIOS - "F_PUT_BUFFER" - WRITE A BUFFER TO DEVICE
  3458.     AH = 0Ah
  3459.     BP = driver ID (see #2343) for V_HPHIL (0114h), others
  3460.     CX = number of bytes to write
  3461.     ES:DI -> buffer containing data
  3462.     ---if driver is V_HPHIL---
  3463.     BX = device address indicator (see #2362)
  3464.     DH = HP HIL device major address
  3465.     DL = HP-HIL device register (00h-7Fh)
  3466. Return: AH = status (see #2346)
  3467.     CX = number of unwritten bytes left in buffer
  3468.     BP,DS destroyed
  3469. SeeAlso: AH=06h"F_PUT_BYTE",AH=0Ah"F_PUT_BLOCK",AH=0Ch"F_GET_BUFFER"
  3470. SeeAlso: AH=0Eh"F_PUT_WORD"
  3471. --------b-6F0A-------------------------------
  3472. INT 6F - HP Vectra EX-BIOS - "F_PUT_BLOCK" - WRITE BLOCKS TO DEVICE
  3473.     AH = 0Ah
  3474.     BP = driver ID (see #2343) for block device
  3475.     DH = device major number
  3476.     DL = device minor number
  3477.     ES:DI -> command block (see #2368)
  3478. Return: AH = status (see #2346)
  3479.     BX = operation status
  3480.     BP,DS destroyed
  3481. SeeAlso: AH=06h"F_PUT_BYTE",AH=0Ah"F_PUT_BUFFER",AH=0Ch"F_GET_BUFFER"
  3482. SeeAlso: AH=0Eh"F_PUT_WORD"
  3483.  
  3484. Format of HP Vectra F_PUT_BLOCK/F_GET_BLOCK command block:
  3485. Offset    Size    Description    (Table 2368)
  3486.  00h    DWORD    data transfer address
  3487.  04h    WORD    number of blocks
  3488.  06h    DWORD    block address (some devices only use low word)
  3489. --------b-6F0A--BP0012-----------------------
  3490. INT 6F - HP Vectra EX-BIOS - "F_INS_XCHGFREE" - EXCH VALUES WITH FREE VECTOR
  3491.     AH = 0Ah
  3492.     BP = 0012h (driver ID for V_SYSTEM)
  3493.     DX = new value for DS
  3494.     ES:DI -> new CS:IP entry point
  3495. Return: AH = status (00h,F6h) (see also #2346)
  3496.         00h successful
  3497.         BX = vector address used
  3498.         DX = old value for DS
  3499.         ES:DI -> old CS:IP entry point
  3500.     BP,DS destroyed
  3501. Desc:    exchange the supplied entry point and DS with the values in the next
  3502.       free entry in the HP_VECTOR_TABLE
  3503. Note:    returns AH=F6h if no more reserved vectors are available
  3504. SeeAlso: AH=00h"HP Vectra",AH=04h/BP=0012h,AH=06h/BP=0012h,AH=08h/BP=0012h
  3505. SeeAlso: AH=0Ch/BP=0012h
  3506. --------b-6F0A--BP002A-----------------------
  3507. INT 6F - HP Vectra EX-BIOS - "F_INQUIRE_FIRST" - GET PHYSICAL DRIVER VECTOR
  3508.     AH = 0Ah
  3509.     BP = 002Ah (driver ID for V_SINPUT)
  3510. Return: AH = status (see #2346)
  3511.     BX = vector address for first HP-HIL device
  3512.     BP,DS destroyed
  3513. Note:    all seven HP-HIL devices use consecutive vectors in the
  3514.       HP_VECTOR_TABLE    
  3515. SeeAlso: AH=00h"HP Vectra",AX=0400h/BP=002Ah,AH=06h/BP=002Ah,AH=08h/BP=002Ah
  3516. SeeAlso: AH=0Ch/BP=002Ah
  3517. --------b-6F0A--BP005A-----------------------
  3518. INT 6F - HP Vectra EX-BIOS - "F_DEF_MASKS" - DEFINE GRAPHICS CURSOR MASKS
  3519.     AH = 0Ah
  3520.     BP = 005Ah (driver ID for V_STRACK)
  3521.     BH = width of save area in bytes
  3522.     BL = hot-spot X coordinate
  3523.     CH = height in scan lines
  3524.     CL = hot-spot Y coordinate
  3525.     ES:SI -> sprite mask (screen mask followed by XOR sprite mask)
  3526. Return: AH = status (see #2346)
  3527.     BP,DS destroyed
  3528. Note:    the save area is one byte wider than the actual sprite mask; the total
  3529.       size of the sprite is at most 144 bytes
  3530. SeeAlso: AH=00h"HP Vectra",AH=04h"F_TRACK_INIT",AH=08h"F_TRACK_OFF"
  3531. SeeAlso: AH=0Ch"F_SET_LIMITS_X",AH=10h"F_PUT_SPRITE",AH=12h"F_REMOVE_SPRITE"
  3532. --------N-6F0B-------------------------------
  3533. INT 6F - 10NET - LOCK SEMAPHORE, RETURN IMMEDIATELY
  3534.     AH = 0Bh
  3535.     AL = drive number or 0
  3536.     ES:SI = Ethernet address or 0
  3537.     DS:BX -> 31-byte ASCIZ semaphore name
  3538. Return: AL = status (see #2369)
  3539. Note:    same as INT 60/AH=12h
  3540. SeeAlso: AH=0Ch"10NET",INT 60/AH=12h
  3541.  
  3542. (Table 2369)
  3543. Values for 10NET status:
  3544.  00h    successful
  3545.  01h    semaphore currently locked
  3546.  02h    server not responding
  3547.  03h    invalid semaphore name
  3548.  04h    semaphore list is full
  3549.  05h    invalid drive ID
  3550.  06h    invalid Ethernet address
  3551.  07h    not logged in
  3552.  08h    write to network failed
  3553.  09h    semaphore already logged in this CPU
  3554. SeeAlso: #2342
  3555. Index:    error codes;10-Net|10-Net;error codes
  3556. --------N-6F0C-------------------------------
  3557. INT 6F - 10NET - UNLOCK SEMAPHORE
  3558.     AH = 0Ch
  3559.     AL = drive number or 0
  3560.     ES:SI = Ethernet address or 0
  3561.     DS:BX -> 31-byte ASCIZ semaphore name
  3562. Return: AL = status (see also #2369)
  3563.         01h semaphore not locked
  3564. Note:    same as INT 60/AH=13h
  3565. SeeAlso: AH=0Bh,INT 60/AH=13h
  3566. --------b-6F0C-------------------------------
  3567. INT 6F - HP Vectra EX-BIOS - "F_GET_BUFFER" - READ A BUFFER OF DATA FROM DEVICE
  3568.     AH = 0Ch
  3569.     BP = driver ID (see #2343) for V_HPHIL (0114h), others
  3570.     CX = number of bytes or blocks to read
  3571.     DS:SI -> buffer for received data
  3572. Return: AH = status (see #2346 at AH=00h"HP Vectra")
  3573.     BP,DS destroyed
  3574. SeeAlso: AH=08h"F_GET_BYTE",AH=0Ah"F_PUT_BUFFER",AH=0Ch"F_GET_BLOCK"
  3575. SeeAlso: AH=10h"F_GET_WORD"
  3576. --------b-6F0C-------------------------------
  3577. INT 6F - HP Vectra EX-BIOS - "F_GET_BLOCK" - READ BLOCKS OF DATA FROM DEVICE
  3578.     AH = 0Ch
  3579.     BP = driver ID (see #2343)
  3580.     DH = device major number
  3581.     DL = device minor number
  3582.     ES:DI -> command block (see #2368)
  3583. Return: AH = status (see #2346 at AH=00h"HP Vectra")
  3584.     BX = operation status
  3585.     BP,DS destroyed
  3586. SeeAlso: AH=08h"F_GET_BYTE",AH=0Ah"F_PUT_BLOCK",AH=0Ch"F_GET_BUFFER"
  3587. SeeAlso: AH=10h"F_GET_WORD"
  3588. --------b-6F0C--BP0012-----------------------
  3589. INT 6F - HP Vectra EX-BIOS - "F_INS_FIXOWNDS" - INSTALL VALUES IN FIXED VECTOR
  3590.     AH = 0Ch
  3591.     BP = 0012h (driver ID for V_SYSTEM)
  3592.     BX = vector address used
  3593.     ES:DI -> new CS:IP entry point
  3594. Return: AH = status (00h) (see #2346)
  3595.     BP,DS destroyed
  3596. Note:    on installation, the given entry point will be invoked with an SF_INIT
  3597.       call (see AX=0200h"SF_INIT"), which should return the routine's DS
  3598.       in BX.  If the SF_INIT call returns with error code FEh, the power-on
  3599.       self-test sequence will be called.
  3600. SeeAlso: AH=00h"HP Vectra",AH=04h/BP=0012h,AH=06h/BP=0012h,AH=08h/BP=0012h
  3601. SeeAlso: AH=0Eh/BP=0012h,AH=12h/BP=0012h
  3602. --------b-6F0C--BP002A-----------------------
  3603. INT 6F - HP Vectra EX-BIOS - "F_INQUIRE_ENTRY" - GET GID DRIVER ENTRY POINT
  3604.     AH = 0Ch
  3605.     BP = 002Ah (driver ID for V_SINPUT)
  3606. Return: AH = status (see #2346)
  3607.     ES:BX -> physical GID driver CS:IP
  3608.     BP,DS destroyed
  3609. SeeAlso: AH=00h"HP Vectra",AX=0400h/BP=002Ah,AH=06h/BP=002Ah,AH=08h/BP=002Ah
  3610. SeeAlso: AH=0Ah/BP=002Ah
  3611. --------b-6F0C--BP005A-----------------------
  3612. INT 6F - HP Vectra EX-BIOS - "F_SET_LIMITS_X" - SET HORIZONTAL TRACKING LIMITS
  3613.     AH = 0Ch
  3614.     BP = 005Ah (driver ID for V_STRACK)
  3615.     CX = minimum X coordinate
  3616.     DX = maximum X coordinate
  3617. Return: AH = status (see #2346)
  3618.     BP,DS destroyed
  3619. SeeAlso: AH=00h"HP Vectra",AH=04h/BP=005Ah,AH=08h/BP=005Ah,AH=0Eh/BP=005Ah
  3620. SeeAlso: AH=10h/BP=005Ah,AH=12h/BP=005Ah,INT 33/AX=0007h
  3621. --------N-6F0D-------------------------------
  3622. INT 6F - 10NET - "WHO" - ENUMERATE USERS ON NETWORK
  3623.     AH = 0Dh
  3624.     AL = type code
  3625.         01h return superstations only
  3626.         02h return non-superstations only
  3627.         otherwise return all
  3628.     CX = length of data buffer
  3629.     DS:DX -> array of records to be filled (see #2370)
  3630. Return: CL = number of records returned (responding stations)
  3631. SeeAlso: AH=16h,AH=8Dh
  3632.  
  3633. Format of station record:
  3634. Offset    Size    Description    (Table 2370)
  3635.  00h 12 BYTEs    node ID
  3636.  0Ch    BYTE    station flags (see #2371)
  3637. ---if AL = 01h---
  3638.  0Dh    BYTE    version number
  3639.  0Eh    WORD    level number of 10Net software in responding node
  3640. ---if AL = 02h---
  3641.  0Dh  8 BYTEs    user ID
  3642.  15h    BYTE    version number
  3643.  16h    WORD    level number
  3644.  
  3645. Bitfields for station flags:
  3646. Bit(s)    Description    (Table 2371)
  3647.  1    workstation
  3648.  2    superstation
  3649.  3    xgate
  3650.  4    active gate
  3651. --------N-6F0E-------------------------------
  3652. INT 6F - 10NET - SPOOL/PRINT
  3653.     AH = 0Eh
  3654.     DS:DX -> spool/print record (see #2373)
  3655. Return:    CF clear if successful
  3656.     CF set on error
  3657.         AX = error code (see also #2342)
  3658.         17FFh device not mounted
  3659.         18FFh already spooling to named device
  3660.  
  3661. (Table 2372)
  3662. Values for 10NET spooler operation code:
  3663.  0000h    initiate spool
  3664.  0001h    abort print
  3665.  0002h    close spool
  3666.  0003h    delete spool
  3667.  0004h    print
  3668.  0005h    get report info
  3669.  0006h    set chat template
  3670.  0007h    queue
  3671.  0008h    return queue
  3672.  0009h    queue non-spooled file for printing
  3673.  
  3674. Format of 10NET Spool/Print record:
  3675. Offset    Size    Description    (Table 2373)
  3676.  00h    WORD    operation code (see #2372)
  3677.  02h 11 BYTEs    file name in FCB format
  3678. ---if operation code = 00h or 06h---
  3679.  0Dh    BYTE    notification flags (see #2374)
  3680.  0Eh    BYTE    days to keep (FFh=forever)
  3681.  0Fh    BYTE    bits 0,1: device (1=LPT1)
  3682.         bits 4-7: remote drive to store spool file (1=A,...)
  3683.  10h    WORD    length of following data area
  3684.  12h  N BYTEs    up to 64 bytes of description
  3685. ---if operation code = 03h---
  3686.  0Dh  8 BYTEs    user ID to associate with filename
  3687. ---if operation code = 04h---
  3688.  0Dh    WORD    block number
  3689.  0Fh  8 BYTEs    user ID to associate with filename
  3690. ---if operation code = 05h---
  3691.  0Dh    BYTE    RRN to start retrieve
  3692.  0Eh    BYTE    bits 0,1: local print device (LPTx)
  3693.         bit 3: if set, return entries for all users
  3694.  0Fh    WORD    length of following area
  3695.  11h  N BYTEs    up to 1500 bytes to receive $SCNTL records returned
  3696. ---if operation code = 07h---
  3697.  0Dh    BYTE    queue number
  3698.  0Eh    BYTE    bits 0,1: local print device (LPTx)
  3699.  0Fh    WORD    number of bytes of test print to be done
  3700.  11h    BYTE    code:
  3701.         01h print device
  3702.         02h test print count
  3703.         03h prn
  3704. ---if operation code = 08h---
  3705.  0Dh    BYTE    queue location or $SCNTL location to start access
  3706.         returns next item for access:
  3707.             00h-7Fh queued items
  3708.             80h-FEh non-queued, non-printed items
  3709.             FFh    no more items
  3710.  0Eh    WORD    unused
  3711.  10h    WORD    length of following area
  3712.  12h  N BYTEs    up to 64 bytes to receive $SCNTL records (see #2375)
  3713. ---if operation code = 09h---
  3714.  0Dh  3 BYTEs    unused
  3715.  10h  N BYTEs    path to non-spooled file to be queued for printing
  3716.  
  3717. Bitfields for notification flags:
  3718. Bit(s)    Description    (Table 2374)
  3719.  7    queue to top
  3720.  6    do ID page
  3721.  5    no form feed
  3722.  4    reserved
  3723.  3    explicit queuing only
  3724.  2    notify at print completion
  3725.  1    notify server operator, with reply
  3726.  0    notify at print start
  3727.  
  3728. Format of 10NET $SCNTL record:
  3729. Offset    Size    Description    (Table 2375)
  3730.  00h  8 BYTEs    user ID
  3731.  08h 11 BYTEs    filename in FCB format
  3732.  13h  6 BYTEs    node ID
  3733.  19h  3 BYTEs    creation date
  3734.  1Ch    BYTE    notification flags (see #2374)
  3735.  1Dh    BYTE    retention time in days
  3736.  1Eh    BYTE    printing device (LPTx)
  3737.  1Fh  3 BYTEs    date last printed (0 = never)
  3738.  22h    BYTE    device containing spoolfile
  3739.  23h    WORD    bytes to print for test print
  3740.  25h    WORD    block number to start print
  3741.  27h    BYTE    reserved
  3742. --------b-6F0E-------------------------------
  3743. INT 6F - HP Vectra EX-BIOS - "F_PUT_WORD" - WRITE WORD OF DATA TO DEVICE
  3744.     AH = 0Eh
  3745.     BP = driver ID (see #2343)
  3746.     DX = data word
  3747. Return: AH = status (see #2346 at AH=00h"HP Vectra")
  3748.     BP,DS destroyed
  3749. SeeAlso: AH=06h"F_PUT_BYTE",AH=0Ah"F_PUT_BUFFER",AH=10h"F_GET_WORD"
  3750. --------b-6F0E-------------------------------
  3751. INT 6F - HP Vectra EX-BIOS - "F_PUT_WORD" - WRITE A WORD OF DATA
  3752.     AH = 0Eh
  3753.     BP = driver ID (see #2343)
  3754.     ??? details not yet available
  3755. Return: ???
  3756. SeeAlso: AH=06h"HP Vectra",AH=0Ah"HP Vectra",AH=10h"HP Vectra"
  3757. --------b-6F0E--BP0012-----------------------
  3758. INT 6F - HP Vectra EX-BIOS - "F_INS_FIXGETDS" - INSTALL VALUES IN FIXED VECTOR
  3759.     AH = 0Eh
  3760.     BP = 0012h (driver ID for V_SYSTEM)
  3761.     BX = vector address used
  3762.     ES:DI -> new CS:IP entry point
  3763. Return: AH = status (00h) (see #2346)
  3764.     BP,DS destroyed
  3765. Note:    on installation, the given entry point will be invoked with an SF_INIT
  3766.       call (see AX=0200h"SF_INIT"), with the "last used DS" value in BX;
  3767.       the routine should adjust BX and return the new value.  If the
  3768.       SF_INIT call returns with error code FEh, the power-on self-test
  3769.       sequence will be called.
  3770. SeeAlso: AH=00h"HP Vectra",AH=04h/BP=0012h,AH=06h/BP=0012h,AH=0Ch/BP=0012h
  3771. SeeAlso: AH=10h/BP=0012h,AH=14h/BP=0012h
  3772. --------b-6F0E--BP005A-----------------------
  3773. INT 6F - HP Vectra EX-BIOS - "F_SET_LIMITS_Y" - SET VERTICAL TRACKING LIMITS
  3774.     AH = 0Eh
  3775.     BP = 005Ah (driver ID for V_STRACK)
  3776.     CX = minimum Y coordinate
  3777.     DX = maximum Y coordinate
  3778. Return: AH = status (see #2346)
  3779.     BP,DS destroyed
  3780. SeeAlso: AH=00h"HP Vectra",AH=04h/BP=005Ah,AH=08h/BP=005Ah,AH=0Ch/BP=005Ah
  3781. SeeAlso: AH=10h/BP=005Ah,AH=12h/BP=005Ah,INT 33/AX=0008h
  3782. --------N-6F0F-------------------------------
  3783. INT 6F - 10NET v5.0 - "RM LOCK" - ???
  3784.     AH = 0Fh
  3785.     ???
  3786. Return: ???
  3787. SeeAlso: AH=07h,AH=08h"10NET"
  3788. --------N-6F10-------------------------------
  3789. INT 6F - 10NET - ATTACH/DETACH PRINTER
  3790.     AH = 10h
  3791.     AL = subfunction
  3792.         00h initiate spooling if LPT1 is mounted
  3793.         01h terminate spooling if LPT1 is mounted
  3794. SeeAlso: INT 21/AX=5D08h
  3795. --------b-6F0E-------------------------------
  3796. INT 6F - HP Vectra EX-BIOS - "F_GET_WORD" - READ WORD OF DATA FROM DEVICE
  3797.     AH = 0Eh
  3798.     BP = driver ID (see #2343)
  3799. Return: AH = status (see #2346 at AH=00h"HP Vectra")
  3800.     DX = data word
  3801.     BP,DS destroyed
  3802. SeeAlso: AH=08h"F_GET_BYTE",AH=0Ch"F_GET_BUFFER",AH=0Eh"F_PUT_WORD"
  3803. --------b-6F10--BP0012-----------------------
  3804. INT 6F - HP Vectra EX-BIOS - "F_INS_FIXGLBDS" - INSTALL VALUES IN FIXED VECTOR
  3805.     AH = 10h
  3806.     BP = 0012h (driver ID for V_SYSTEM)
  3807.     BX = vector address used
  3808.     ES:DI -> new CS:IP entry point
  3809. Return: AH = status (00h) (see #2346)
  3810.     BP,DS destroyed
  3811. Note:    on installation, the given entry point will be invoked with an SF_INIT
  3812.       call (see AX=0200h"SF_INIT"), with BX set to the EX-BIOS global
  3813.       data area. If the SF_INIT call returns with error code FEh, the
  3814.       power-on self-test sequence will be called.
  3815. SeeAlso: AH=00h"HP Vectra",AH=04h/BP=0012h,AH=06h/BP=0012h
  3816. SeeAlso: AH=0Ch/BP=0012h,AH=0Eh/BP=0012h,AH=12h/BP=0012h,AH=16h/BP=0012h
  3817. --------b-6F10--BP005A-----------------------
  3818. INT 6F - HP Vectra EX-BIOS - "F_PUT_SPRITE" - DISPLAY GRAPHICS CURSOR SPRITE
  3819.     AH = 10h
  3820.     BP = 005Ah (driver ID for V_STRACK)
  3821.     BX = X coordinate
  3822.     CX = Y coordinate
  3823. Return: AH = status (see #2346)
  3824.     BP,DS destroyed
  3825. SeeAlso: AH=00h"HP Vectra",AH=04h"F_TRACK_INIT",AH=08h"F_TRACK_OFF"
  3826. SeeAlso: AH=12h"F_REMOVE_SPRITE",INT 33/AX=0004h
  3827. --------N-6F11-------------------------------
  3828. INT 6F - 10NET - LOCK FCB
  3829.     AH = 11h
  3830.     AL = mode
  3831.         01h sequential
  3832.         02h random
  3833.         03h random block
  3834.         CX = number of records
  3835.     DS:DX -> FCB (see #0574 at INT 21/AH=0Fh)
  3836. Return:    CF clear if successful
  3837.     CF set on error
  3838.         AX = error code (see also #2342)
  3839.         0002h file not found
  3840. SeeAlso: AH=12h,INT 21/AH=0Fh
  3841. --------N-6F12-------------------------------
  3842. INT 6F - 10NET - UNLOCK FCB
  3843.     AH = 12h
  3844.     AL = mode
  3845.         00h sequential
  3846.         01h random
  3847.         02h random block
  3848.         CX = number of records
  3849.     DS:DX -> FCB (see #0574 at INT 21/AH=0Fh)
  3850. Return:    CF clear if successful
  3851.     CF set on error
  3852.         AX = error code (see also #2342)
  3853.         0002h file not found
  3854. SeeAlso: AH=11h
  3855. --------b-6F12--BP0012-----------------------
  3856. INT 6F - HP Vectra EX-BIOS - "F_INS_FREEOWNDS" - INSTALL VALUES IN FREE VECTOR
  3857.     AH = 12h
  3858.     BP = 0012h (driver ID for V_SYSTEM)
  3859.     ES:DI -> new CS:IP entry point
  3860. Return: AH = status (00h) (see #2346)
  3861.     BP,DS destroyed
  3862. Note:    on installation, the given entry point will be invoked with an SF_INIT
  3863.       call (see AX=0200h"SF_INIT"), which should return the routine's DS
  3864.       in BX.  If the SF_INIT call returns with error code FEh, the power-on
  3865.       self-test sequence will be called.
  3866. SeeAlso: AH=00h"HP Vectra",AH=04h/BP=0012h,AH=0Ch/BP=0012h,AH=14h/BP=0012h
  3867. SeeAlso: AH=16h/BP=0012h,AH=18h/BP=0012h
  3868. --------b-6F12--BP005A-----------------------
  3869. INT 6F - HP Vectra EX-BIOS - "F_REMOVE_SPRITE" - REMOVE GRAPHICS CURSOR SPRITE
  3870.     AH = 12h
  3871.     BP = 005Ah (driver ID for V_STRACK)
  3872. Return: AH = status (see #2346)
  3873.     BP,DS destroyed
  3874. SeeAlso: AH=00h"HP Vectra",AH=06h"F_TRACK_ON",AH=10h"F_PUT_SPRITE"
  3875. --------N-6F13-------------------------------
  3876. INT 6F - 10NET v3.3+ - GET REMOTE CONFIGURATION TABLE ADDRESS
  3877.     AH = 13h
  3878.     DS:DX -> node ID, 12 bytes blank-padded
  3879. Return:    CF clear if successful
  3880.         ES:BX = configuration table address on given machine
  3881.     CF set on error
  3882.         AX = error code (see #2342)
  3883. SeeAlso: AH=03h
  3884. --------N-6F14-------------------------------
  3885. INT 6F - 10NET v3.3+ - GET REMOTE MEMORY
  3886.     AH = 14h
  3887.     BX:SI = address of remote memory
  3888.     CX = length (<=1024 bytes)
  3889.     DS:DX -> node ID, 12 bytes blank-padded
  3890.     DS:DI -> area to receive remote memory image
  3891. Return:    CF clear if successful
  3892.         CX = amount of memory copied to DS:SI
  3893.     CF set on error
  3894.         AX = error code (see #2342)
  3895. --------b-6F14--BP0012-----------------------
  3896. INT 6F - HP Vectra EX-BIOS - "F_INS_FREEGETDS" - INSTALL VALUES IN FREE VECTOR
  3897.     AH = 14h
  3898.     BP = 0012h (driver ID for V_SYSTEM)
  3899.     ES:DI -> new CS:IP entry point
  3900. Return: AH = status (00h) (see #2346)
  3901.     BP,DS destroyed
  3902. Note:    on installation, the given entry point will be invoked with an SF_INIT
  3903.       call (see AX=0200h"SF_INIT"), with the "last used DS" value in BX;
  3904.       the routine should adjust BX and return the new value.  If the
  3905.       SF_INIT call returns with error code FEh, the power-on self-test
  3906.       sequence will be called.
  3907. SeeAlso: AH=00h"HP Vectra",AH=04h/BP=0012h,AH=0Eh/BP=0012h,AH=12h/BP=0012h
  3908. SeeAlso: AH=16h/BP=0012h
  3909. --------N-6F1501-----------------------------
  3910. INT 6F - 10NET v3.3+ - GET SHARED DEVICE ENTRY
  3911.     AX = 1501h
  3912.     BX = zero-based index
  3913.     DS:SI -> node ID, 12 bytes blank-padded
  3914.     ES:DI -> 85-byte buffer for shared device table entry (see #2376)
  3915. Return:    CF clear if successful
  3916.         ES:DI buffer contains shared device table entry of BXth device
  3917.     CF set on error
  3918.         AX = error code (see #2342)
  3919. SeeAlso: AX=1502h,AX=1503h,AX=9501h
  3920.  
  3921. Format of 10NET shared device table entry:
  3922. Offset    Size    Description    (Table 2376)
  3923.  00h  8 BYTEs    device
  3924.  08h  8 BYTEs    alias
  3925.  10h 64 BYTEs    path
  3926.  50h  8 BYTEs    password
  3927.  58h    BYTE    access
  3928.  59h  4 BYTEs    mask
  3929. --------N-6F1502-----------------------------
  3930. INT 6F - 10NET v3.3+ - SET SHARED DEVICE ENTRY
  3931.     AX = 1502h
  3932.     DS:SI -> node ID, 12 bytes blank-padded
  3933.     ES:DI -> valid shared device table entry
  3934. Return:    CF clear if successful
  3935.     CF set on error
  3936.         AX = error code (see #2342)
  3937. SeeAlso: AX=1501h,AX=1503h,AX=9502h
  3938. --------N-6F1503-----------------------------
  3939. INT 6F - 10NET v3.3+ - DELETE SHARED DEVICE ENTRY
  3940.     AX = 1503h
  3941.     BX = zero-based index
  3942.     DS:SI -> node ID, 12 bytes blank-padded
  3943. Return:    CF clear if successful
  3944.     CF set on error
  3945.         AX = error code (see #2342)
  3946. SeeAlso: AX=1501h,AX=1502h,AX=9503h
  3947. --------N-6F16-------------------------------
  3948. INT 6F - 10NET v5.0 - "GL WHO" - ???
  3949.     AH = 16h
  3950.     ???
  3951. Return: ???
  3952. SeeAlso: AH=0Dh
  3953. --------b-6F16--BP0012-----------------------
  3954. INT 6F - HP Vectra EX-BIOS - "F_INS_FREEGLBDS" - INSTALL VALUES IN FREE VECTOR
  3955.     AH = 16h
  3956.     BP = 0012h (driver ID for V_SYSTEM)
  3957.     ES:DI -> new CS:IP entry point
  3958. Return: AH = status (00h) (see #2346 at INT 6F/AH=00h"HP Vectra")
  3959.     BP,DS destroyed
  3960. Note:    on installation, the given entry point will be invoked with an SF_INIT
  3961.       call (see AX=0200h"SF_INIT"), with BX set to the EX-BIOS global
  3962.       data area.  If the SF_INIT call returns with error code FEh, the
  3963.       power-on self-test sequence will be called.
  3964. SeeAlso: AH=00h"HP Vectra",AH=04h/BP=0012h,AH=10h/BP=0012h,AH=12h/BP=0012h
  3965. SeeAlso: AH=14h/BP=0012h,AH=18h/BP=0012h
  3966. --------N-6F17-------------------------------
  3967. INT 6F - 10NET v3.3+ - MOUNT
  3968.     AH = 17h
  3969.     AL = local drive number (0=A:)
  3970.     BL = remote drive letter or '1'..'3' for LPTn or '4' or '5' for COMx
  3971.     DS:DX -> node ID, 12 bytes blank-padded
  3972. Return:    CF clear if successful
  3973.     CF set on error
  3974.         AX = error code (see #2342)
  3975. SeeAlso: AH=18h
  3976. --------N-6F18-------------------------------
  3977. INT 6F - 10NET v3.3+ - UNMOUNT
  3978.     AH = 18h
  3979.     AL = local drive number (0=A:)
  3980.     BL = type
  3981.         00h        disk
  3982.         01h-03h LPTn
  3983.         04h,05h COMx
  3984. Return:    CF clear if successful
  3985.     CF set on error
  3986.         AX = error code (see #2342)
  3987. SeeAlso: AH=17h
  3988. --------b-6F18--BP0012-----------------------
  3989. INT 6F - HP Vectra EX-BIOS - "F_INS_FIND" - FIND DRIVER BY ATTRIBUTES
  3990.     AH = 18h
  3991.     BP = 0012h (driver ID for V_SYSTEM)
  3992.     AL = sense of test (00h equal, 02h non-equal)
  3993.     BX = AND mask
  3994.     DX = pattern
  3995.     SI = first vector address to search
  3996.     DI = offset in HP header of field to test
  3997. Return: AH = status (00h,FEh) (see #2346 at INT 6F/AH=00h"HP Vectra")
  3998.     BP,DS destroyed
  3999.     ---if AH=00h---
  4000.     SI = first matching vector address
  4001. Desc:    compare successive drivers' header fields starting at address SI
  4002.       until the header field AND BX is either equal or non-equal to DX
  4003. SeeAlso: AH=00h"HP Vectra",AH=04h/BP=0012h,AH=0Ch/BP=0012h,AH=10h/BP=0012h
  4004. SeeAlso: AH=12h/BP=0012h,AH=16h/BP=0012h
  4005. --------N-6F19-------------------------------
  4006. INT 6F U - 10NET v5.0 - AUDIT
  4007.     AH = 19h
  4008.     ???
  4009. Return: ???
  4010. SeeAlso: AH=99h
  4011. --------N-6F1A-------------------------------
  4012. INT 6F U - 10NET v5.0 - "BULL" - ???
  4013.     AH = 1Ah
  4014.     ???
  4015. Return: ???
  4016. --------N-6F1B-------------------------------
  4017. INT 6F U - 10NET v5.0 - "GMOUNT" - ???
  4018.     AH = 1Bh
  4019.     ???
  4020. Return: ???
  4021. --------N-6F1C-------------------------------
  4022. INT 6F U - 10NET v5.0 - "GLOGIN" - GET LOGIN LIST
  4023.     AH = 1Ch
  4024.     ???
  4025. Return: ???
  4026. --------N-6F1D-------------------------------
  4027. INT 6F U - 10NET v5.0 - "TABDATA" - ???
  4028.     AH = 1Dh
  4029.     ???
  4030. Return: ???
  4031. --------N-6F1E-------------------------------
  4032. INT 6F U - 10NET v5.0 - "SCHED" - ???
  4033.     AH = 1Eh
  4034.     ???
  4035. Return: ???
  4036. --------b-6F1E--BP0012-----------------------
  4037. INT 6F - HP Vectra EX-BIOS - "F_RAM_GET" - GET EX-BIOS FREE RAM AREA
  4038.     AH = 1Eh
  4039.     BP = 0012h (driver ID for V_SYSTEM)
  4040. Return: AH = status (00h) (see #2346 at INT 6F/AH=00h"HP Vectra")
  4041.     BX = last-used DS
  4042.     DX = maximum DS
  4043.     BP,DS destroyed
  4044. SeeAlso: AH=00h"HP Vectra",AH=04h/BP=0012h,AH=20h/BP=0012h,AH=22h/BP=0012h
  4045. --------N-6F1F-------------------------------
  4046. INT 6F U - 10NET v5.0 - "WHOAMI" - ???
  4047.     AH = 1Fh
  4048.     ???
  4049. Return: ???
  4050. --------N-6F20-------------------------------
  4051. INT 6F U - 10NET v5.0 - ???
  4052.     AH = 20h
  4053.     ???
  4054. Return: ???
  4055. --------b-6F20--BP0012-----------------------
  4056. INT 6F - HP Vectra EX-BIOS - "F_RAM_RET" - RESERVE EX-BIOS MEMORY
  4057.     AH = 20h
  4058.     BP = 0012h (driver ID for V_SYSTEM)
  4059.     BX = new value for "last-used DS"
  4060.     DX = new value for "maximum DS"
  4061. Return: AH = status (00h) (see #2346 at INT 6F/AH=00h"HP Vectra")
  4062.     BP,DS destroyed
  4063. Note:    the F_INS_FIXGETDS and F_INS_FREEGETDS functions
  4064.       (see AH=0Eh/BP=0012h,AH=14h/BP=0012h) also modify the values returned
  4065.       by this call, requiring care if both methods are used to allocate
  4066.       memory
  4067. SeeAlso: AH=00h"HP Vectra",AH=0Eh/BP=0012h,AH=14h/BP=0012h,AH=1Eh/BP=0012h
  4068. --------N-6F21-------------------------------
  4069. INT 6F U - 10NET v5.0 - ???
  4070.     AH = 21h
  4071.     ???
  4072. Return: ???
  4073. --------N-6F22-------------------------------
  4074. INT 6F U - 10NET v5.0 - ???
  4075.     AH = 22h
  4076.     ???
  4077. Return: ???
  4078. --------b-6F22--BP0012-----------------------
  4079. INT 6F - HP Vectra EX-BIOS - "F_CMOS_GET" - READ CMOS MEMORY
  4080.     AH = 22h
  4081.     BP = 0012h (driver ID of V_SYSTEM)
  4082.     BL = address of CMOS byte to read
  4083. Return: AH = status (see #2346 at AH=00h"HP Vectra")
  4084.     AL = byte read
  4085.     BP,DS destroyed
  4086. Note:    supported by ES, QS, and RS series HP Vectras
  4087. SeeAlso: AH=00h"HP Vectra",AH=1Eh/BP=0012h,AH=24h/BP=0012h
  4088. --------b-6F24--BP0012-----------------------
  4089. INT 6F - HP Vectra EX-BIOS - "F_CMOS_RET" - WRITE CMOS MEMORY
  4090.     AH = 24h
  4091.     BP = 0012h (driver ID of V_SYSTEM)
  4092.     BL = address of CMOS byte to write
  4093.     AL = new value
  4094. Return: AH = status (see #2346)
  4095.     BP,DS destroyed
  4096. Note:    updates the CMOS checksum fields (both IBM-standard and HP checksums)
  4097. SeeAlso: AH=00h"HP Vectra",AH=22h/BP=0012h
  4098. --------b-6F2A--BP0012-----------------------
  4099. INT 6F - HP Vectra EX-BIOS - "F_YIELD" - GIVE UP CPU TO OTHER TASKS
  4100.     AH = 2Ah
  4101.     BP = 0012h (driver ID of V_SYSTEM)
  4102. Return: AH = status (see #2346)
  4103.     BP,DS destroyed
  4104. Note:    this is a hook for multitasking systems
  4105. SeeAlso: AH=00h"HP Vectra",INT 15/AX=1000h,INT 2F/AX=1680h
  4106. --------b-6F30--BP0012-----------------------
  4107. INT 6F - HP Vectra EX-BIOS - "F_SND_CLICK_ENABLE" - TURN ON KEYCLICKS
  4108.     AH = 30h
  4109.     BP = 0012h (driver ID of V_SYSTEM)
  4110. Return: AH = status (see #2346 at AH=00h"HP Vectra")
  4111.     BP,DS destroyed
  4112. Desc:    enables keyclicks and flushes any pending keyclicks
  4113. SeeAlso: AH=32h/BP=0012h,AH=34h/BP=0012h,AH=36h/BP=0012h
  4114. --------b-6F32--BP0012-----------------------
  4115. INT 6F - HP Vectra EX-BIOS - "F_SND_CLICK_DISABLE" - TURN OFF KEYCLICKS
  4116.     AH = 32h
  4117.     BP = 0012h (driver ID of V_SYSTEM)
  4118. Return: AH = status (see #2346)
  4119.     BP,DS destroyed
  4120. Desc:    disables keyclicks and flushes any pending keyclicks
  4121. SeeAlso: AH=00h"HP Vectra",AH=30h/BP=0012h,AH=38h/BP=0012h
  4122. --------b-6F34--BP0012-----------------------
  4123. INT 6F - HP Vectra EX-BIOS - "F_SND_CLICK" - GENERATE KEYCLICK
  4124.     AH = 34h
  4125.     BP = 0012h (driver ID of V_SYSTEM)
  4126. Return: AH = status (see #2346)
  4127.     BP,DS destroyed
  4128. Desc:    generate a keyclick if fewer than four clicks are already pending
  4129. Note:    if keyclicks are already pending, the remaining click count is
  4130.       incremented and the function returns immediately
  4131. SeeAlso: AH=00h"HP Vectra",AH=30h/BP=0012h,AH=36h/BP=0012h,AH=3Ah/BP=0012h
  4132. --------b-6F36--BP0012-----------------------
  4133. INT 6F - HP Vectra EX-BIOS - "F_SND_BEEP_ENABLE" - ENABLE BEEPS
  4134.     AH = 36h
  4135.     BP = 0012h (driver ID of V_SYSTEM)
  4136. Return: AH = status (see #2346 at AH=00h"HP Vectra")
  4137.     BP,DS destroyed
  4138. SeeAlso: AH=00h"HP Vectra",AH=30h/BP=0012h,AH=34h/BP=0012h,AH=38h/BP=0012h
  4139. --------b-6F38--BP0012-----------------------
  4140. INT 6F - HP Vectra EX-BIOS - "F_SND_BEEP_DISABLE" - DISABLE BEEPS
  4141.     AH = 38h
  4142.     BP = 0012h (driver ID of V_SYSTEM)
  4143. Return: AH = status (see #2346)
  4144.     BP,DS destroyed
  4145. SeeAlso: AH=00h"HP Vectra",AH=32h/BP=0012h,AH=36h/BP=0012h
  4146. --------b-6F3A--BP0012-----------------------
  4147. INT 6F - HP Vectra EX-BIOS - "F_SND_BEEP" - SOUND BEEP WITH CURRENT VALUES
  4148.     AH = 3Ah
  4149.     BP = 0012h (driver ID of V_SYSTEM)
  4150. Return: AH = status (see #2346 at AH=00h"HP Vectra")
  4151.     BP,DS destroyed
  4152. Desc:    make a sound of the frequency and duration defined in the EX-BIOS
  4153.       global data area (see #2350)
  4154. SeeAlso: AH=00h"HP Vectra",AH=34h/BP=0012h,AH=36h/BP=0012h,AH=38h/BP=0012h
  4155. SeeAlso: AH=3Ch/BP=0012h,AH=3Eh/BP=0012h
  4156. --------b-6F3C--BP0012-----------------------
  4157. INT 6F - HP Vectra EX-BIOS - "F_SND_SET_BEEP" - SET BEEP FREQUENCY AND DURATION
  4158.     AH = 3Ch
  4159.     BP = 0012h (driver ID of V_SYSTEM)
  4160.     BX = frequency in Hz (1-25000, 0 = off)
  4161.     DX = duration in 10-microsecond increments
  4162. Return: AH = status (see #2346)
  4163.     BP,DS destroyed
  4164. SeeAlso: AH=00h"HP Vectra",AH=3Ah/BP=0012h,AH=3Eh/BP=0012h,#2350
  4165. --------b-6F3E--BP0012-----------------------
  4166. INT 6F - HP Vectra EX-BIOS - "F_SND_TONE" - SOUND TONE WITH FREQ AND DURATION
  4167.     AH = 3Eh
  4168.     BP = 0012h (driver ID of V_SYSTEM)
  4169.     BX = frequency in Hz (1-25000, 0 = off)
  4170.     DX = duration in 10-microsecond increments
  4171. Return: AH = status (see #2346)
  4172.     BP,DS destroyed
  4173. SeeAlso: AH=00h"HP Vectra",AH=3Ah/BP=0012h,AH=3Ch/BP=0012h,AH=40h/BP=0012h
  4174. --------b-6F40--BP0012-----------------------
  4175. INT 6F - HP Vectra EX-BIOS - "F_STR_GET_FREE_INDEX" - FIND FREE STRING INDEX
  4176.     AH = 40h
  4177.     BP = 0012h (driver ID of V_SYSTEM)
  4178. Return: AH = status (see #2346)
  4179.     BX = next free string index
  4180.     BP,DS destroyed
  4181. Desc:    get the next string index available to user programs
  4182. SeeAlso: AH=00h"HP Vectra",AH=42h/BP=0012h,AH=44h/BP=0012h,AH=46h/BP=0012h
  4183. --------b-6F42--BP0012-----------------------
  4184. INT 6F - HP Vectra EX-BIOS - "F_STR_DEL_BUCKET" - DEL HEADER FROM BUCKET LIST
  4185.     AH = 42h
  4186.     BP = 0012h (driver ID of V_SYSTEM)
  4187.     ES:DI -> bucket header (see #2377)
  4188. Return: AH = status (00h,FEh) (see #2346 at AH=00h"HP Vectra")
  4189.     BP,DS destroyed
  4190. SeeAlso: AH=00h"HP Vectra",AH=40h/BP=0012h,AH=44h/BP=0012h
  4191.  
  4192. Format of HP Vectra EX-BIOS bucket header:
  4193. Offset    Size    Description    (Table 2377)
  4194.  00h    DWORD    pointer to next bucket header (FFFFh:FFFFh if last)
  4195.  04h    WORD    upper bound on string index
  4196.  06h    WORD    lower bound on string index
  4197.  08h    DWORD    pointer to array of string offset pointers
  4198.  0Ch    WORD    segment of strings
  4199. Note:    the strings pointed at by the offset pointers are byte-counted ASCIZ
  4200.       strings
  4201. --------b-6F44--BP0012-----------------------
  4202. INT 6F - HP Vectra EX-BIOS - "F_STR_PUT_BUCKET" - ADD HEADER TO BUCKET HDR LIST
  4203.     AH = 44h
  4204.     BP = 0012h (driver ID of V_SYSTEM)
  4205.     ES:DI -> bucket header (see #2377)
  4206. Return: AH = status (00h) (see #2346)
  4207.     BP,DS destroyed
  4208. SeeAlso: AH=00h"HP Vectra",AH=42h/BP=0012h,AH=46h/BP=0012h
  4209. --------b-6F46--BP0012-----------------------
  4210. INT 6F - HP Vectra EX-BIOS - "F_STR_GET_STRING" - FIND STRING IN BUCKET LIST
  4211.     AH = 46h
  4212.     BP = 0012h (driver ID of V_SYSTEM)
  4213.     BX = string index
  4214. Return: AH = status (00h,other) (see #2346)
  4215.     BP,DS destroyed
  4216.     ---if successful---
  4217.     CX = length of string (excluding count byte and terminating NUL)
  4218.     DS:SI -> header for string
  4219.     ES:DI -> found string
  4220. SeeAlso: AH=00h"HP Vectra",AH=44h/BP=0012h,AH=48h/BP=0012h
  4221. --------b-6F48--BP0012-----------------------
  4222. INT 6F - HP Vectra EX-BIOS - "F_STR_GET_INDEX" - GET INDEX FOR STRING
  4223.     AH = 48h
  4224.     BP = 0012h (driver ID of V_SYSTEM)
  4225.     ES:DI -> ASCIZ string
  4226. Return: AH = status (00h,other) (see #2346 at AH=00h"HP Vectra")
  4227.     BP,DS destroyed
  4228.     ---if successful---
  4229.     BX = index for the given string
  4230. SeeAlso: AH=00h"HP Vectra",AH=40h/BP=0012h,AH=46h/BP=0012h
  4231. --------N-6F80-------------------------------
  4232. INT 6F - 10NET v5.0 - LOGIN
  4233.     AH = 80h
  4234.     DS:DX -> login record (see #2378)
  4235. Return: CF clear if successful
  4236.         BL = number of days until password expires (00h = never)
  4237.         CL = security level
  4238.     CF set on error
  4239.         AX = status (see #2342)
  4240. SeeAlso: AH=00h,AH=81h
  4241.  
  4242. Format of 10NET login record:
  4243. Offset    Size    Description    (Table 2378)
  4244.  00h  8 BYTEs    user name
  4245.  08h  8 BYTEs    password
  4246.  10h 15 BYTEs    server node ID
  4247.  1Fh  8 BYTEs    new password
  4248.  27h    BYTE    invoke mode (00h command line, 01h interactive)
  4249. --------N-6F81-------------------------------
  4250. INT 6F - 10NET v5.0 - LOGOUT
  4251.     AH = 81h
  4252.     DS:DX -> server node ID (DX=0000h for universal logout)
  4253. Return: AX = status (see #2342)
  4254. SeeAlso: AH=01h,AH=80h
  4255. --------N-6F8A-------------------------------
  4256. INT 6F - 10NET v5.0 - CHAT
  4257.     AH = 8Ah
  4258.     DS:BX -> chat parameters (see #2379)
  4259.     DS:DX -> chat message (see #2380)
  4260. Return: CF clear if successful
  4261.     CF set on error
  4262.         AX = status (see #2342)
  4263. SeeAlso: AH=0Ah
  4264.  
  4265. Format of 10NET chat parameters:
  4266. Offset    Size    Description    (Table 2379)
  4267.  00h  8 BYTEs    sender's user name
  4268.  08h  8 BYTEs    destination user name
  4269.  10h 15 BYTEs    destination node (0 if broadcast-style chat)
  4270.  
  4271. Format of 10NET chat message:
  4272. Offset    Size    Description    (Table 2380)
  4273.  00h    WORD    message length
  4274.  02h  N BYTEs    chat message contents
  4275. --------N-6F8D-------------------------------
  4276. INT 6F - 10NET v5.0 - "WHO" - ENUMERATE USERS ON NETWORK
  4277.     AH = 8Dh
  4278.     BX = service mask (see #2381)
  4279.     CX = length of buffer
  4280.     DS:DX -> buffer for array of Who data structures (see #2382)
  4281. Return: CF clear if successful
  4282.         CX = number of nodes matching service mask
  4283.         DS:DX buffer filled
  4284.     CF set on error
  4285.         AX = status (see #2342)
  4286. SeeAlso: AH=0Dh
  4287.  
  4288. Bitfields for 10NET service mask:
  4289. Bit(s)    Description    (Table 2381)
  4290.  0    workstation
  4291.  1    file server
  4292.  2    print server
  4293.  3    de-spool server
  4294.  
  4295. Format of 10NET Who data structure:
  4296. Offset    Size    Description    (Table 2382)
  4297.  00h  8 BYTEs    user name
  4298.  08h 15 BYTEs    node ID
  4299.  17h  3 BYTEs    unique portion of Ethernet address
  4300.  1Ah    BYTE    Who group number
  4301.  1Bh    WORD    service mask (see #2381)
  4302.  1Dh    DWORD    serial number
  4303.  21h    BYTE    maximum concurrent users with same serial number allowed on net
  4304.  22h    BYTE    chat mask (see #2383)
  4305.  23h    BYTE    internal system bits (see #2384)
  4306.  24h  9 BYTEs    version number in format MM.mm.xxx
  4307.  2Dh    BYTE    number of shared directories
  4308.  2Eh    BYTE    number of shared printer queues
  4309.  
  4310. Bitfields for 10NET chat mask:
  4311. Bit(s)    Description    (Table 2383)
  4312.  0    chat permitted
  4313.  1    bell enabled
  4314.  2    chat keyboard initiated
  4315.  3    in INT 16 handler
  4316.  4    in Get Input
  4317.  5    display has timed out
  4318.  6    chat is idle
  4319.  
  4320. Bitfields for 10NET internal system bits:
  4321. Bit(s)    Description    (Table 2384)
  4322.  0    submit permitted
  4323.  1    submit initiated
  4324.  2    submit executing
  4325.  3    internal client call/chat/spool/autospool
  4326.  4    in spool termination
  4327.  5    print permitted
  4328.  6    waiting for keyboard input
  4329. --------N-6F9501-----------------------------
  4330. INT 6F - 10NET v5.0 - GET SHARED DEVICE ENTRY
  4331.     AX = 9501h
  4332.     BX = zero-based index
  4333.     DS:SI -> server's node ID
  4334.     ES:DI -> buffer for shared device structure (see #2385)
  4335. Return: CF clear if successful
  4336.     CF set on error
  4337.         AX = status (see #2342)
  4338. SeeAlso: AX=1501h,AX=9502h,AX=9503h,AX=9504h
  4339.  
  4340. Format of 10NET shared device structure:
  4341. Offset    Size    Description    (Table 2385)
  4342.  00h  8 BYTEs    alias
  4343.  08h    BYTE    type (02h modem, 03h print queue, 04h directory)
  4344.  09h    BYTE    access rights
  4345.         bit 0: read
  4346.         bit 1: write
  4347.         bit 2: create
  4348.  0Ah  8 BYTEs    password
  4349.  12h 32 BYTEs    comment
  4350. ---directory---
  4351.  32h 64 BYTEs    pathname of shared directory
  4352. ---print queue---
  4353.  32h    BYTE    notification bit mask (see #2386)
  4354.  33h    BYTE    job control bit mask (see #2387)
  4355.  34h    WORD    number of days to retain file
  4356.  36h    WORD    test print length
  4357.  38h    BYTE    number of copies to print
  4358.  39h    BYTE    compression algorithm
  4359.  3Ah    BYTE    tab width (00h = don't expand)
  4360.  3Bh    BYTE    priority
  4361.  3Ch    WORD    time to open queue (FFFFh = always)
  4362.  3Eh    WORD    time to close queue
  4363.  40h    WORD    pause following queue switch, in clock ticks
  4364.  42h    WORD    pause between print jobs, in clock ticks
  4365.  44h    BYTE    associate queue file existence mask
  4366.         bit 0: queue switch file exists
  4367.         bit 1: initiate file exists
  4368.         bit 2: abort file exists
  4369.  45h  6 BYTEs    character sequence for page eject
  4370.  4Bh    BYTE    status of print queue
  4371.         bit 0: queue is closed
  4372.  4Ch    WORD    number of jobs on queue
  4373.  4Eh    WORD    offset of next print job to be dispatched (FFFFh = none)
  4374.  50h    BYTE    number of print devices in printer pool
  4375.  51h    WORD    offset of first print device structure (FFFFh if empty)
  4376.  
  4377. Bitfields for notification flags:
  4378. Bit(s)    Description    (Table 2386)
  4379.  0    user at print start
  4380.  1    operator at start, with reply
  4381.  2    user at print completion
  4382.  3    operator at completion, with reply
  4383.  4    user on queue switch
  4384.  5    operator on queue switch, with reply
  4385.  6    user on print error
  4386.  
  4387. Bitfields for 10NET job control mask:
  4388. Bit(s)    Description    (Table 2387)
  4389.  0    print banner page
  4390.  1    eject page at end of job
  4391.  2    mark as "held" (queue but don't print)
  4392.  3    rush job (queue at top)
  4393.  4    overwrite file with zeros before deletion
  4394.  5    hyperspool if possible
  4395. --------N-6F9502-----------------------------
  4396. INT 6F - 10NET v5.0 - SET SHARED DEVICE ENTRY
  4397.     AX = 9502h
  4398.     DS:SI -> server's node ID
  4399.     ES:DI -> shared device structure (see #2385)
  4400. Return: CF clear if successful
  4401.     CF set on error
  4402.         AX = status (see #2342)
  4403. SeeAlso: AX=1502h,AX=9501h,AX=9503h,AX=9504h
  4404. --------N-6F9503-----------------------------
  4405. INT 6F - 10NET v5.0 - DELETE SHARED DEVICE
  4406.     AX = 9503h
  4407.     BX = zero-based index
  4408.     DS:SI -> server's node ID
  4409. Return: CF clear if successful
  4410.     CF set on error
  4411.         AX = status (see #2342)
  4412. SeeAlso: AX=1503h,AX=9501h,AX=9502h,AX=9504h
  4413. --------N-6F9504-----------------------------
  4414. INT 6F - 10NET v5.0 - ENUMERATE USERS OF SHARED DEVICE
  4415.     AX = 9504h
  4416.     BX = zero-based shared device index
  4417.     CX = zero-based user index
  4418.     DS:SI -> server's node ID
  4419. Return: CF clear if successful
  4420.         ES:DI -> node ID of the CX'th user of the BX'th device
  4421.     CF set on error
  4422.         AX = status (see #2342)
  4423. SeeAlso: AX=9501h,AX=9502h,AX=9503h
  4424. --------N-6F99-------------------------------
  4425. INT 6F - 10NET v5.0 - AUDIT
  4426.     AH = 99h
  4427.     DS:SI -> server's node ID
  4428.     ES:DI -> data to be appended to audit trail file (max 106 bytes)
  4429. Return: CF clear if successful
  4430.     CF set on error
  4431.         AX = status (see #2342)
  4432. SeeAlso: AH=19h,AH=9Ch
  4433. --------N-6F9C-------------------------------
  4434. INT 6F - 10NET v5.0 - GET LOGIN LIST
  4435.     AH = 9Ch
  4436.     BX = zero-based index
  4437. Return: CF clear if successful
  4438.         DS:DI -> BX'th node ID that caller's machine is logged into
  4439.     CF set on error
  4440.         AX = status (see #2342)
  4441. --------H-70---------------------------------
  4442. INT 70 C - IRQ8 - CMOS REAL-TIME CLOCK
  4443. Desc:    this interrupt is called when the real-time clock chip generates an
  4444.       alarm or periodic interrupt, among others.  The periodic interrupt
  4445.       occurs 1024 times per second.
  4446. Nots:    many BIOSes turn off the periodic interrupt in the INT 70h handler
  4447.       unless in an event wait (see INT 15/AH=83h or INT 15/AH=86h).
  4448.     may be masked by setting bit 0 on I/O port A1h
  4449. SeeAlso: INT 08,INT 0F"HP 95LX",INT 15/AH=01h"Amstrad",INT 15/AH=83h
  4450. SeeAlso: INT 15/AH=86h,INT 1A/AH=02h,INT 58"DESQview"
  4451. --------v-70---------------------------------
  4452. INT 70 - VIRUS - "Stupid" - ORIGINAL INT 21h VECTOR
  4453. Note:    the virus sets this interrupt to be the same as INT 21, and then
  4454.       performs only INT 70 calls; since INT 70 is also generated by the
  4455.       real-time clock on the PC/AT and higher, this could cause random
  4456.       actions on an infected system
  4457. SeeAlso: INT 6B"VIRUS",INT 9E"VIRUS",INT E0"VIRUS"
  4458. --------H-71---------------------------------
  4459. INT 71 C - IRQ9 - REDIRECTED TO INT 0A BY BIOS
  4460. Notes:    may be masked by setting bit 1 on I/O port A1h
  4461.     the default BIOS handler invokes INT 0A for compatibility, since the
  4462.       pin for IRQ2 on the PC expansion bus became the pin for IRQ9 on the
  4463.       AT expansion bus.
  4464.     under DESQview, only the INT 15h vector and BASIC segment address (the
  4465.       word at 0000h:0510h) may be assumed to be valid for the handler's
  4466.       process
  4467. SeeAlso: INT 0A,INT 59
  4468. --------H-72---------------------------------
  4469. INT 72 C - IRQ10 - RESERVED
  4470. Note:    may be masked by setting bit 2 on I/O port A1h
  4471. SeeAlso: INT 5A
  4472. --------H-73---------------------------------
  4473. INT 73 C - IRQ11 - RESERVED
  4474. Note:    may be masked by setting bit 3 on I/O port A1h
  4475. SeeAlso: INT 5B
  4476. --------H-74---------------------------------
  4477. INT 74 C - IRQ12 - POINTING DEVICE (PS)
  4478. Notes:    may be masked by setting bit 4 on I/O port A1h
  4479.     under DESQview, only the INT 15h vector and BASIC segment address (the
  4480.       word at 0000h:0510h) may be assumed to be valid for the handler's
  4481.       process
  4482. SeeAlso: INT 33,INT 5C
  4483. --------H-75---------------------------------
  4484. INT 75 C - IRQ13 - MATH COPROCESSOR EXCEPTION (AT and up)
  4485. Desc:    redirected to INT 02 by the BIOS, for compatibility with the PC
  4486. Notes:    may be masked by setting bit 5 on I/O port A1h
  4487.     not all clones wire the coprocessor to generate this IRQ; some systems
  4488.       generate an NMI (see INT 02) or assert the -ERROR pin on the CPU
  4489.       (see INT 10"COPROCESSOR")
  4490.     under DESQview, only the INT 15h vector and BASIC segment address (the
  4491.       word at 0000h:0510h) may be assumed to be valid for the handler's
  4492.       process
  4493. SeeAlso: INT 10"COPROCESSOR",INT 5D
  4494. --------H-76---------------------------------
  4495. INT 76 C - IRQ14 - HARD DISK CONTROLLER OPERATION COMPLETE (AT and later)
  4496. Notes:    may be masked by setting bit 6 on I/O port A1h
  4497.     on the PS/2, this interrupt is designed to be shared with other
  4498.       devices that produce an operation-complete interrupt, though
  4499.       the only current user is the hard disk
  4500. SeeAlso: INT 0E"IRQ6",INT 15/AH=91h,INT 5E
  4501. --------H-77---------------------------------
  4502. INT 77 C - IRQ15 - RESERVED (AT,PS)
  4503. Note:    may be masked by setting bit 7 on I/O port A1h
  4504. SeeAlso: INT 5F
  4505. --------H-77---------------------------------
  4506. INT 77 C - IRQ15 - POWER CONSERVATION (Compaq SLT/286)
  4507. Note:    may be masked by setting bit 7 on I/O port A1h
  4508. SeeAlso: INT 15/AX=4600h,INT 5F
  4509. --------E-78---------------------------------
  4510. INT 78 - UofSalford DBOS DOS extender - API
  4511.     AH = function
  4512.         00h (PB) display 32-bit memory specified by command argument
  4513.         01h (PT) display 32-bit instruction(s) specified by command arg
  4514.         02h specify offset to subsequent PB and PT commands
  4515.         03h switch to protected mode
  4516.         DWORD following INT instruction point to map; protected-mode
  4517.               entry point is immediately following the DWORD
  4518.         Return: never
  4519.         Note:    if bit 31 of the map address is set, only a stub was
  4520.               loaded by DOS and DBOS will load the entire program
  4521.         04h specify that subsequent load (AH=03h) should leave program in
  4522.           memory
  4523.         05h release program from memory
  4524.         06h set break point at address and option count from commandline
  4525.         07h resume program execution
  4526.         08h single-step program
  4527.         09h set read/write breakpoint using 386 debug registers
  4528.         0Ah set write breakpoint using 386 debug register
  4529.         0Bh set memory byte to new value
  4530.         0Ch display CPU registers
  4531.         0Dh run until specified program address reached
  4532.         0Fh print trace from program map
  4533.         10h specify an offset using a map symbol
  4534.         14h print memory without any offset
  4535.         18h switch DBOS into/out of test mode (ON/OFF commandline args)
  4536.         1Dh get address of real/protected-mode communication buffer
  4537.         Return: ES:BP -> comm buffer
  4538.         1Eh set real-mode memory size (specify how much real-mode memory
  4539.           to leave free when running FTN77 programs)
  4540.         22h uninstall DBOS
  4541.         24h force DBOS to emulate coprocessor instructions
  4542.         26h set named DBOS switches from commandline
  4543.         27h reset named DBOS switched from commandline
  4544.         2Ah set list of dynamic link libraries to contents of commandline
  4545.           file
  4546.         35h specify that subsequent load (AH=03h) should stop at first
  4547.           instruction
  4548. Return: ???
  4549. Notes:    DBOS supports functions 00h through 50h; many of these functions
  4550.       provide a low-level debugging interface
  4551.     command arguments are read from the calling program's PSP
  4552. SeeAlso: INT 79"DBOS"
  4553. Index:    uninstall;DBOS DOS extender
  4554. --------E-78---------------------------------
  4555. INT 78 - DJGPP GO32.EXE DOS EXTENDER - RELOCATED IRQ0
  4556. Program: GO32.EXE is a DOS extender included as part of the 80386 port of the
  4557.       GNU C/C++ compiler by DJ Delorie and distributed as DJGPP
  4558. Notes:    this vector is overwritten when GO32 starts but is not restored by
  4559.       early versions of the extender
  4560.     the newest versions of GO32 dynamically allocate the vectors used
  4561.       for the relocated IRQs, much as DESQview does (see INT 50"DESQview")
  4562. SeeAlso: INT 08,INT 10/AH=FFh"GO32",INT 79"GO32"
  4563. --------A-78---------------------------------
  4564. INT 78 R - AutoCAD Device Interface - PLOTTER - SEND COMMAND
  4565.     AX = function
  4566.         0001h begin plot
  4567.         BX = file level
  4568.             0000h ASCII file
  4569.             0001h binary file
  4570.             0002h AutoCAD DXB file
  4571.             0003h installed ADI driver
  4572.         0002h end plot (close plotter)
  4573.         0003h move (pen up)
  4574.         BX = new X position
  4575.         CX = new Y position
  4576.         0004h move (pen down)
  4577.         BX = new X position
  4578.         CX = new Y position
  4579.         0005h select pen
  4580.         BX = pen number
  4581.         0006h select drawing speed
  4582.         BX = drawing speed N
  4583.         0007h select line style
  4584.         BX = line style N
  4585.         0008h raise pen
  4586.         0009h abort plot
  4587. Return: AX = 0000h (may be used for driver status in future releases)
  4588. SeeAlso: INT 79"AutoCAD",INT 7A/AX=0001h"AutoCAD",INT 7B/AX=8001h"AutoCAD"
  4589. --------d-78---------------------------------
  4590. INT 78 - ADP-60 IDE controller - ORIGINAL INT 13
  4591. SeeAlso: INT 79"ADP-60"
  4592. --------s-78-------------------------------
  4593. INT 78 - ULTRAMID - API
  4594.     AX = function
  4595.     --- digital functions ---
  4596.         0000h start digital
  4597.         ES:DI -> Sound Structure
  4598.         Return: AX = voice used
  4599.         0001h play next buffer
  4600.         ES:DI -> Sound Structure
  4601.         0002h set panning
  4602.         BX = pan
  4603.         CX = voice
  4604.         0003h set volume
  4605.         BX = volume
  4606.         CX = voice
  4607.         0004h set rate (not yet implemented)
  4608.         0005h pause digital
  4609.         CX = voice
  4610.         0006h restart digital
  4611.         CX = voice
  4612.         0007h stop digital
  4613.         CX = voice
  4614.         0008h get digital position
  4615.         CX = voice
  4616.         Return: AX:DX -> position in PC buffer
  4617.         0009h get voice status (not yet implemented)
  4618.     --- MIDI functions ---
  4619.         000Ah load MIDI patches
  4620.         ES:DI -> MIDI track just after the Mtrk header
  4621.         BX:DX = length of MIDI track
  4622.         000Bh load XMIDI patches
  4623.         ES:DI -> event buffer including the EVNT header
  4624.         000Ch load patch
  4625.         CX = MIDI number of patch
  4626.         000Dh unload patch
  4627.         CX = MIDI number of patch
  4628.         000Eh start sequence
  4629.         000Fh unload all patches
  4630.         0010h MIDI out byte
  4631.         CX = MIDI byte
  4632.         0011h MIDI out string
  4633.         CX = length
  4634.         ES:DI -> string of MIDI data
  4635.         0012h all notes off
  4636.     --- resource functions ---
  4637.         0013h allocate memory
  4638.         BX:DX = size of GUS memory needed
  4639.         Return: AX:DX = address of memory, or 0000:0000 if not avaiable
  4640.         0014h free memory
  4641.         BX:DX = address of memory to be freed
  4642.         0015h uninstall
  4643.         0016h sem enter
  4644.         0017h sem leave
  4645.         0018h add external semaphore 
  4646.         BX:DX -> external semaphore
  4647.         0019h clear external semaphore
  4648.         BX:DX -> external semaphore
  4649.         001Ah application start
  4650.         001Bh application end
  4651. Program: UltraMid is a TSR from Advanced Gravis to play MIDI and digital data
  4652.        through the Gravis UltraSound (GUS)
  4653. Range:    INT 78 to INT 7F
  4654. Notes:    the installation check is testing for the signature "ULTRAMID" at
  4655.       offset 0103h in the interrupt handler's segment
  4656. --------d-7800-------------------------------
  4657. INT 78 - TARGA.DEV - CMC International SCSI device driver - SET I/O PORT
  4658.     AH = 00h
  4659.     DX = interface board I/O port
  4660. Return: CF set on error
  4661.         AL = error code (see #2388)
  4662. Note:    if this routine is not called, the port is the driver's default
  4663.       (usually 0280h or 0300h)
  4664.     an installation check is performed by TARGA.DEV upon initialization
  4665.       by checking for the string "SCSI" at offset 03h into the interrupt
  4666.       handler
  4667. SeeAlso: AH=01h,AH=02h
  4668. Index:    installation check;TARGA.DEV
  4669.  
  4670. (Table 2388)
  4671. Values for TARGA.DEV error code:
  4672.  00h    illegal command given to SCSI code
  4673.  01h    invalid I/O port specified (must be from 100H to 3F8H, and must be on
  4674.       an 8-port boundary)
  4675.  02h    invalid DMA channel specified (must be from 1 to 3)
  4676.  03h    invalid SCSI board number specified (must be from 0 to 7)
  4677.  04h    error from data register test during self-test
  4678.  05h    SCSI input signals not all 0 when SCSI RST activated
  4679.  06h    SCSI input signals not all 0 before selecting a SCSI device
  4680.  07h    BSY signal is active; SCSI bus is busy
  4681.  08h    SCSI board not selected, BSY signal did not come on in response to
  4682.       raising SEL
  4683.  09h    time-out waiting for status state, signifying end of DMA transfer
  4684. ----------7800-------------------------------
  4685. INT 78 - HugeRealMode Driver - API
  4686.     AH = 00h
  4687.     AL = function
  4688.         00h installation check
  4689.         Return: AX = DBCA if installed
  4690.         01h get entry point
  4691.         Return: ES:BX -> far call entry point
  4692. Program: the HugeRealMode driver was published in the German DOS Extra Nr. 20
  4693.       (1992), and makes a 4G flat address space (for both data and code)
  4694.       available to real-mode DOS programs
  4695. --------d-7801-------------------------------
  4696. INT 78 - TARGA.DEV - GET I/O PORT
  4697.     AH = 01h
  4698. Return: DX = current interface board I/O port
  4699. SeeAlso: AH=00h,AH=03h"TARGA"
  4700. --------d-7802-------------------------------
  4701. INT 78 - TARGA.DEV - SET DMA CHANNEL
  4702.     AH = 02h
  4703.     AL = interface board DMA channel
  4704. Return: CF set on error
  4705.     AL = error code (see #2388)
  4706. Note:    if this routine is not called, the DMA channel is the driver's default
  4707.       (usually 3)
  4708. SeeAlso: AH=00h,AH=03h"TARGA"
  4709. --------d-7803-------------------------------
  4710. INT 78 - TARGA.DEV - GET DMA CHANNEL
  4711.     AH = 03h
  4712. Return: AL = current interface board DMA channel
  4713. SeeAlso: AH=01h,AH=02h
  4714. --------d-7804-------------------------------
  4715. INT 78 - TARGA.DEV - SET SCSI DEVICE NUMBER
  4716.     AH = 04h
  4717.     AL = SCSI device number
  4718. Return: CF set on error
  4719.     AL = error code (see #2388)
  4720. Note:    if this routine is not called, the device number used is the driver's
  4721.       default (usually 0)
  4722. SeeAlso: AH=02h,AH=05h
  4723. --------d-7805-------------------------------
  4724. INT 78 - TARGA.DEV - GET SCSI DEVICE NUMBER
  4725.     AH = 05h
  4726. Return: AL = current SCSI device number
  4727. SeeAlso: AH=03h"TARGA",AH=04h
  4728. --------d-7806-------------------------------
  4729. INT 78 - TARGA.DEV - SET/CLEAR EARLY RETURN MODE
  4730.     AH = 06h
  4731.     AL = new state
  4732.         00h clear early return mode
  4733.         01h set early return mode
  4734. Note:    if early return mode is set then SCSI will return with no errors
  4735.       when the last DMA transfer is started in a call with AH=13h or AH=14h
  4736.     if this routine is not called, early return mode is cleared
  4737. SeeAlso: AH=13h,AH=14h,AH=15h
  4738. --------d-7808-------------------------------
  4739. INT 78 - TARGA.DEV - INTERFACE BOARD SELF-TEST
  4740.     AH = 08h
  4741. Return: CF set on error
  4742.     AL = error code (see #2388)
  4743. Note:    the SCSI bus is also reset
  4744. SeeAlso: AH=09h
  4745. --------d-7809-------------------------------
  4746. INT 78 - TARGA.DEV - RESET SCSI BUS
  4747.     AH = 09h
  4748. Return: AL = error code if carry set (see #2388)
  4749. SeeAlso: AH=08h
  4750. --------d-7810-------------------------------
  4751. INT 78 - TARGA.DEV - SEND SCSI COMMAND
  4752.     AH = 10h
  4753.     DS:SI -> command bytes (see #2389)
  4754. Return: AH = SCSI status byte
  4755.     CF clear if successful
  4756.         AL = SCSI message byte
  4757.     CF set on error
  4758.         AL = error code (see #2388)
  4759. SeeAlso: AH=11h,INT 21/AX=4403h"ST-01"
  4760.  
  4761. Format of SCSI Command:
  4762. Offset    Size    Description    (Table 2389)
  4763.  00h    BYTE    length of command
  4764.  01h    ???    command bytes
  4765. --------d-7811-------------------------------
  4766. INT 78 - TARGA.DEV - SEND SCSI COMMAND, RECEIVE DATA (PROGRAMMED I/O)
  4767.     AH = 11h
  4768.     DS:SI -> command bytes (see #2390)
  4769.     ES:BX -> data storage area
  4770.     CX = number of data bytes to transfer
  4771. Return: AH = SCSI status byte
  4772.     CF clear if successful
  4773.         AL = SCSI message byte
  4774.     CF set on error
  4775.         AL = error code (see #2388)
  4776. Note:    this command receives data internally one byte at a time
  4777. SeeAlso: AH=10h,AH=13h
  4778.  
  4779. Format of TARGA.DEV SCSI Command:
  4780. Offset    Size    Description    (Table 2390)
  4781.  00h    BYTE    length of command
  4782.  01h    ???    command bytes
  4783. --------d-7812-------------------------------
  4784. INT 78 - TARGA.DEV - SEND SCSI COMMAND AND DATA (PROGRAMMED I/O)
  4785.     AH = 12h
  4786.     DS:SI -> command bytes (see #2391)
  4787.     ES:BX -> data storage area
  4788.     CX = number of data bytes to transfer
  4789. Return: AH = SCSI status byte
  4790.     CF clear if successful
  4791.         AL = SCSI message byte
  4792.     CF set on error
  4793.         AL = error code (see #2388)
  4794. Note:    this command sends data internally one byte at a time
  4795. SeeAlso: AH=14h
  4796.  
  4797. Format of TARGA.DEV SCSI Command:
  4798. Offset    Size    Description    (Table 2391)
  4799.  00h    BYTE    length of command
  4800.  01h    ???    command bytes
  4801. --------d-7813-------------------------------
  4802. INT 78 - TARGA.DEV - SEND SCSI COMMAND, RECEIVE DATA (DMA)
  4803.     AH = 13h
  4804.     DS:SI -> command bytes (see #2392)
  4805.     ES:BX -> data storage area
  4806.     DX:CX = number of data bytes to transfer
  4807. Return: AH = SCSI status byte (if early return mode is clear)
  4808.     CF clear if successful
  4809.         AL = SCSI message byte (if early return mode is clear)
  4810.     CF set on error
  4811.         AL = error code (see #2388)
  4812. Note:    this command receives data using DMA
  4813. SeeAlso: AH=11h,AH=12h
  4814.  
  4815. Format of TARGA.DEV SCSI Command:
  4816. Offset    Size    Description    (Table 2392)
  4817.  00h    BYTE    length of command
  4818.  01h    ???    command bytes
  4819. --------d-7814-------------------------------
  4820. INT 78 - TARGA.DEV - SEND SCSI COMMAND AND DATA (DMA)
  4821.     AH = 14h
  4822.     DS:SI -> command bytes (see #2393)
  4823.     ES:BX -> data storage area
  4824.     DX:CX = number of data bytes to transfer
  4825. Return: AH = SCSI status byte (if early return mode is clear)
  4826.     CF clear if successful
  4827.         AL = SCSI message byte (if early return mode is clear)
  4828.     CF set on error
  4829.         AL = error code (see #2388)
  4830. Note:    this command sends data using DMA
  4831. SeeAlso: AH=12h,AH=13h
  4832.  
  4833. Format of TARGA.DEV SCSI Command:
  4834. Offset    Size    Description    (Table 2393)
  4835.  00h    BYTE    length of command
  4836.  01h    ???    command bytes
  4837. --------d-7815-------------------------------
  4838. INT 78 - TARGA.DEV - FINISH DATA TRANSFER (DMA)
  4839.     AH = 15h
  4840. Return: AH = SCSI status byte
  4841.     CF clear if successful
  4842.         AL = SCSI message byte
  4843.     CF set on error
  4844.         AL = error code (see #2388)
  4845. Note:    if AH=06h was previously called to set the early return mode, this
  4846.       function finishes a command AH=13h or AH=14h which returned before
  4847.       the last DMA transfer was finished
  4848. SeeAlso: AH=06h,AH=13h,AH=14h
  4849. --------V-79---------------------------------
  4850. INT 79 - AVATAR.SYS - FAST GET KEYSTROKE
  4851. Return: CF set if no keystroke available
  4852.         AX = FFFFh
  4853.     CF clear if key pressed
  4854.         AX = keystroke
  4855. Program: AVATAR.SYS is a CON driver by George Adam Stanislav which interprets
  4856.       AVATAR command codes just as ANSI.SYS interprets ANSI commands
  4857. Note:    if a keystroke is available, it is removed from the keyboard buffer
  4858.       before being returned
  4859. SeeAlso: INT 29,INT 2F/AX=1A00h/BX=4156h
  4860. --------E-79---------------------------------
  4861. INT 79 - DJGPP GO32.EXE DOS EXTENDER - RELOCATED IRQ1
  4862. Notes:    this vector is overwritten when GO32 starts but is not restored by
  4863.       early versions of the extender
  4864.     the newest versions of GO32 dynamically allocate the vectors used
  4865.       for the relocated IRQs, much as DESQview does (see INT 50"DESQview")
  4866. SeeAlso: INT 09,INT 78"GO32",INT 7A"GO32"
  4867. --------d-79---------------------------------
  4868. INT 79 U - ADP-60 IDE adapter - ???
  4869. SeeAlso: INT 78"ADP-60"
  4870. --------E-79---------------------------------
  4871. INT 79 - DBOS DOS Extender
  4872.     details not available
  4873. Desc:    this interrupt is used by an MS Windows virtual device driver with
  4874.       which the DBOS extender communicates when run inside a Windows
  4875.       Enhanced Mode DOS box
  4876. SeeAlso: INT 78"DBOS"
  4877. --------A-790001-----------------------------
  4878. INT 79 R - AutoCAD Device Interface - DIGITIZER - INITIALIZE
  4879.     AX = 0001h
  4880.     BX = interface level (0001h)
  4881. Return: AX = status (0000h initialization failed, 0001h init successful)
  4882.     BX = digitizer type
  4883.         0000h relative pointing device (mouse, etc.)
  4884.         0001h digitizing tablet
  4885.     CX = digitizer dataflow type
  4886.         0000h continuous
  4887.         0001h pauses between packets
  4888. SeeAlso: AX=0002h,AX=0003h,INT 7A/AX=0001h"AutoCAD"
  4889. --------A-790002-----------------------------
  4890. INT 79 R - AutoCAD Device Interface - DIGITIZER - TERMINATE
  4891.     AX = 0002h
  4892. SeeAlso: AX=0001h,AX=0003h
  4893. --------A-790003-----------------------------
  4894. INT 79 R - AutoCAD Device Interface - DIGITIZER - GET DIGITIZER STATUS
  4895.     AX = 0003h
  4896. Return: AX = status
  4897.         0000h nothing
  4898.         0002h tracking point (no button pressed)
  4899.         BX = X coordinate
  4900.         CX = Y coordinate
  4901.         0003h picked point (button 0,A,B,C,D pressed)
  4902.         BX = X coordinate
  4903.         CX = Y coordinate
  4904.         0004h button pick
  4905.         BX = button number
  4906.         0005h button and coordinates
  4907.         BX = button number
  4908.         CX = X coordinate
  4909.         DX = Y coordinate
  4910. SeeAlso: AX=0001h,AX=0002h
  4911. --------N-7A---------------------------------
  4912. INT 7A U - Topware Network Operating System - ???
  4913.     AL = ???
  4914.     ???
  4915. Return: ???
  4916. SeeAlso: INT 21/AX=FF00h"Topware",INT 2F/AX=FF00h
  4917. --------N-7A---------------------------------
  4918. INT 7A - X.PC Packet software interface
  4919.     ES:BX -> parameter block
  4920. SeeAlso: INT 60/AX=01FFh
  4921. --------E-7A---------------------------------
  4922. INT 7A - DJGPP GO32.EXE DOS EXTENDER - RELOCATED IRQ2
  4923. Program: GO32.EXE is a DOS extender included as part of the 80386 port of the
  4924.       GNU C/C++ compiler by DJ Delorie and distributed as DJGPP
  4925. Notes:    this vector is overwritten when GO32 starts but is not restored by
  4926.       early versions of the extender
  4927.     the newest versions of GO32 dynamically allocate the vectors used
  4928.       for the relocated IRQs, much as DESQview does (see INT 50"DESQview")
  4929. SeeAlso: INT 0A,INT 79"GO32",INT 7B"GO32"
  4930. --------P-7A---------------------------------
  4931. INT 7A O - PRINDIR - API (moved to INT 7C)
  4932. SeeAlso: INT 7C"PRINDIR"
  4933. --------N-7A---------------------------------
  4934. INT 7A - Novell NetWare - LOW-LEVEL API - Notes
  4935. Note:    this interrupt is used for IPX/SPX access in NetWare versions through
  4936.       2.0a; in later versions, you should use INT 2F/AX=7A00h to get an
  4937.       entry point even though INT 7A still exists.    For both INT 7A and
  4938.       the FAR entry point, BX contains the function number; IPX is
  4939.       sometimes called internally with BX bit 15 set, which causes the
  4940.       handler to bypass some initial checks and an optional call to the
  4941.       IPX Windows support handler set with INT 2F/AX=7AFFh/BX=0000h
  4942.       (see #1619)
  4943. SeeAlso: INT 2F/AX=7A00h,INT 64"Novell",INT 7A/BX=0000h
  4944. --------N-7A----BX0000-----------------------
  4945. INT 7A - Novell NetWare - IPX Driver - OPEN SOCKET
  4946.     BX = 0000h
  4947.     AL = socket longevity
  4948.         00h open until close or terminate
  4949.         FFh open until close
  4950.     DX = socket number (high byte in DL)
  4951.         0000h dynamic allocation
  4952.         else  socket to open (see #2394)
  4953. Return: AL = return code
  4954.         00h success
  4955.         DX = socket number
  4956.         FEh socket table full
  4957.         FFh socket already open
  4958. Notes:    TSRs which need to use sockets should set AL to FFh, non-resident
  4959.       programs should normally use AL=00h
  4960.     IPX can be configured to support up to 150 open sockets on a
  4961.       workstation, and defaults to 20
  4962.     this function is supported by Advanced NetWare 1.02+
  4963. SeeAlso: INT 7A/BX=0001h,INT 7A/BX=0004h,INT 7A/BX=0023h
  4964.  
  4965. (Table 2394)
  4966. Values for IPX socket number:
  4967.  0451h    File Service (NetWare Core Protocol)
  4968.  0452h    Service Advertising Protocol (see #2402)
  4969.  0453h    Routing Information Packet (see #2405)
  4970.  0455h    NetBIOS Packet
  4971.  0456h    diagnostics
  4972.  0457h    server serial numbers (labeled "Copy Protection" by Lanalyzer)
  4973.  4000h-7FFFh used for dynamic allocation
  4974.  4444h    Brightwork Development's SiteLock server
  4975.  5555h    Brightwork Development's SiteLock client (workstation)
  4976.  8000h-FFFFh assigned by Novell
  4977.  869Ch    ID Software's DOOM
  4978. Note:    SiteLock is an application metering product using IPX to communicate
  4979.       between the application and the license server
  4980. --------N-7A----BX0001-----------------------
  4981. INT 7A - Novell NetWare - IPX Driver - CLOSE SOCKET
  4982.     BX = 0001h
  4983.     DX = socket number (high byte in DL) (see #2394)
  4984. Notes:    also cancels events set by any Event Control Blocks for the socket
  4985.     the program must close all open sockets before terminating
  4986.     this function is supported by Advanced NetWare 1.02+
  4987. SeeAlso: BX=0000h
  4988. --------N-7A----BX0002-----------------------
  4989. INT 7A - Novell NetWare - IPX Driver - GET LOCAL TARGET
  4990.     BX = 0002h
  4991.     ES:SI -> target internetwork address (see #2409 at INT 7A/BX=000Bh)
  4992.     ES:DI -> 6-byte buffer for local target
  4993. Return: AL = return code
  4994.         00h success
  4995.            CX = expected one-way transfer time (clock ticks) for a 576-byte
  4996.               packet
  4997.            ES:DI -> local target
  4998.         FAh unsuccessful (no path to destination)
  4999. Notes:    the internetwork address consists of a 4-byte network address followed
  5000.       by a 6-byte node address.  The local target is only a 6-byte node
  5001.       address.  If the target is in the same network, the local target is
  5002.       just the node address of target; otherwise, the local target is the
  5003.       node address of the bridge that leads to the target.
  5004.     this function may be called from inside IPX and AES Event Service
  5005.       Routines, but not from other interrupt handlers
  5006.     this function is supported by Advanced NetWare 1.02+
  5007. SeeAlso: BX=0009h
  5008. --------N-7A----BX0003-----------------------
  5009. INT 7A - Novell NetWare - IPX Driver - SEND PACKET
  5010.     BX = 0003h
  5011.     ES:SI -> Event Control Block (see #2395,#2396)
  5012. Notes:    returns immediately; IPX attempts to send the packet in the background
  5013.     this function is supported by Advanced NetWare 1.02+
  5014.     this function is nearly identical to BX=000Fh, except that it always
  5015.       copies the source address into the IPX header assumed to be at the
  5016.       beginning of the first fragment
  5017. SeeAlso: BX=0004h,BX=000Fh,INT 21/AH=EEh"Novell"
  5018.  
  5019. Format of IPX Event Control Block:
  5020. Offset    Size    Description    (Table 2395)
  5021.  00h    DWORD    Link
  5022.  04h    DWORD    -> Event Service Routine (00000000h if none) (see #2399)
  5023.  08h    BYTE    in use flag (see #2397)
  5024.  09h    BYTE    completion code (see #2398)
  5025.  0Ah    WORD    (big-endian) socket number (see #2394)
  5026.  0Ch  4 BYTEs    IPX workspace
  5027.  10h 12 BYTEs    driver workspace
  5028.  1Ch  6 BYTEs    immediate local node address
  5029.  22h    WORD    fragment count
  5030.  24h    var    fragment descriptors
  5031.         Offset    Size    Description
  5032.          00h    DWORD    -> fragment data
  5033.          04h    WORD    size of fragment in bytes.
  5034. Notes:    ESR is a far procedure that is called when the ECB has been handled.
  5035.       On call, the in use flag is zero if the ECB has been handled,
  5036.       non-zero otherwise. If the flag is zero, the completion code holds
  5037.       the result of the event.
  5038.     the first fragment should start with an IPX header (see #2400)
  5039.     all fragments are concatenated and sent in one piece
  5040.     node address FFh FFh FFh FFh FFh FFh broadcasts to all nodes
  5041.  
  5042. Format of AES-ECB:
  5043. Offset    Size    Description    (Table 2396)
  5044.  00h    DWORD    Link
  5045.  04h    DWORD    ESR (Event Service Routine) address (see #2399)
  5046.  08h    BYTE    in use flag (see #2397)
  5047.  09h  5 BYTEs    AES workspace
  5048.  
  5049. (Table 2397)
  5050. Values for ECB in use flag:
  5051.  00h    available
  5052.  E0h    AES temporary
  5053.  F6h    \ special IPX/SPX processing for v3.02+
  5054.  F7h    /
  5055.  F8h    IPX in critical section
  5056.  F9h    SPX listening
  5057.  FAh    processing
  5058.  FBh    holding
  5059.  FCh    AES waiting
  5060.  FDh    AES couting down delay time
  5061.  FEh    awaiting packet reception
  5062.  FFh    sending packet
  5063.  
  5064. (Table 2398)
  5065. Values for ECB completion code:
  5066.  00h    success
  5067.  ECh    remote terminated connection without acknowledging packet
  5068.  EDh    abnormal connection termination
  5069.  EEh    invalid connection ID
  5070.  EFh    SPX connection table full
  5071.  F9h    event should not be cancelled
  5072.  FAh    cannot establish connection with specified destination
  5073.  FCh    cancelled
  5074.  FDh    malformed packet
  5075.  FEh    packet undeliverable
  5076.  FFh    physical error
  5077.  
  5078. (Table 2399)
  5079. Values Event Service Routine is called with:
  5080.     AL = caller's identity (00h = AES, FFh = IPX)
  5081.     ES:SI -> event control block
  5082.     interrupts disabled
  5083. Return: all registers preserved
  5084. SeeAlso: #2395,#2400
  5085.  
  5086. Format of IPX header:
  5087. Offset    Size    Description    (Table 2400)
  5088.  00h    WORD    (big-endian) checksum
  5089.  02h    WORD    (big-endian) length in bytes of total packet
  5090.  04h    BYTE    transport control
  5091.  05h    BYTE    packet type (see #2401)
  5092.  06h 10 BYTEs    destination internetwork address
  5093.  10h    WORD    (big-endian) destination socket
  5094.  12h 10 BYTEs    source internetwork address
  5095.  1Ch    WORD    (big-endian) source socket
  5096. SeeAlso: #2395,#2411
  5097.  
  5098. (Table 2401)
  5099. Values for IPX packet type:
  5100.  00h    unknown packet type
  5101.  01h    routing information packet
  5102.  02h    echo packet
  5103.  03h    error packet
  5104.  04h    packet exchange packet (always use this one)
  5105.  05h    SPX packet (see #2411)
  5106.  11h    NetWare Core Protocol
  5107.  14h    Propagated Packet (for NetWare), NetBIOS name packet
  5108.  15h-1Eh experimental protocols
  5109. Note:    undocumented packet type 14h will cross up to 16 networks deep in
  5110.       all directions; as Aaron Martin of Origin Systems discovered, the
  5111.       first 64 bytes of the IPX data in such packets should be considered
  5112.       reserved, as IPX places the traversed server nodes there.
  5113.  
  5114. Format of Service Advertising Protocol Service Query Packet:
  5115. Offset    Size    Description    (Table 2402)
  5116.  00h 30 BYTEs    IPX header
  5117.  1Eh    WORD    (big-endian) query type
  5118.         0001h general find service
  5119.         0003h find nearest server
  5120.  20h    WORD    (big-endian) server type (see INT 21/AH=E3h"NetWare")
  5121. SeeAlso: #2403
  5122.  
  5123. Format of Service Advertising Protocol Server Identification Packet:
  5124. Offset    Size    Description    (Table 2403)
  5125.  00h 30 BYTEs    IPX header
  5126.  1Eh    WORD    (big-endian) response type
  5127.         0002h general service
  5128.         0004h nearest service
  5129.  20h 64N BYTEs    server entries (1-7) (see #2404)
  5130. SeeAlso: #2402,#2405
  5131.  
  5132. Format of SAP server entry:
  5133. Offset    Size    Description    (Table 2404)
  5134.  00h    WORD    (big-endian) server type (see INT 21/AH=E3h"NetWare")
  5135.  02h 48 BYTEs    ASCIZ server name
  5136.  32h  2 WORDs    (big-endian) network number
  5137.  34h  3 WORDs    (big-endian) node number
  5138.  3Ch    WORD    (big-endian) socket number
  5139.  3Eh    WORD    (big-endian) number of hops between caller and server
  5140.  
  5141. Format of IPX Routing Information packet:
  5142. Offset    Size    Description    (Table 2405)
  5143.  00h 30 BYTEs    IPX header
  5144.  1Eh    WORD    operation (0001h request, 0002h response)
  5145.  20h 8N BYTEs    network entries (1-50) (see #2406)
  5146. SeeAlso: #2403
  5147.  
  5148. Format of RIP network entry:
  5149. Offset    Size    Description    (Table 2406)
  5150.  00h    DWORD    network number (FFFFFFFFh = general request)
  5151.  04h    WORD    (response) number of hops
  5152.  06h    WORD    (response) number of clock ticks to reach destination
  5153. --------N-7A----BX0004-----------------------
  5154. INT 7A - Novell NetWare - IPX Driver - LISTEN FOR PACKET
  5155.     BX = 0004h
  5156.     ES:SI -> Event Control Block (see BX=0003h)
  5157. Return: AL = status
  5158.         00h successful
  5159.         FFh no listening socket for packet
  5160. Desc:    this function provides IPX with an ECB for receiving an IPX packet, but
  5161.       does not wait for a packet to arrive
  5162. Notes:    the application must open a socket and initialize the ECB's ESR
  5163.       address, socket number, fragment count, and fragment descriptor
  5164.       fields before invoking this function
  5165.     there is no limit on the number of ECBs which may simultaneously be
  5166.       listening on a socket
  5167.     this function is supported by Advanced NetWare 1.02+
  5168. SeeAlso: BX=0000h,BX=0003h
  5169. --------N-7A----BX0005-----------------------
  5170. INT 7A - Novell NetWare - IPX Driver - SCHEDULE IPX EVENT
  5171.     BX = 0005h
  5172.     AX = delay time in clock ticks
  5173.     ES:SI -> Event Control Block (see BX=0003h)
  5174. Note:    this function is supported by Advanced NetWare 1.02+
  5175. SeeAlso: BX=0006h,BX=0007h,BX=0008h
  5176. --------N-7A----BX0006-----------------------
  5177. INT 7A - Novell NetWare - IPX Driver - CANCEL EVENT
  5178.     BX = 0006h
  5179.     ES:SI -> Event Control Block (see BX=0003h)
  5180. Return: AL = return code (see #2407)
  5181. Notes:    cannot cancel packets which the node's driver has already sent
  5182.     this function is supported by Advanced NetWare 1.02+
  5183. SeeAlso: BX=0005h
  5184.  
  5185. (Table 2407)
  5186. Values for IPX return code:
  5187.  00h    success
  5188.  F9h    event in use
  5189.  FCh    event cancelled
  5190.  FFh    unsuccessful, event not in use, or unrecognized ECB flag
  5191. --------N-7A----BX0007-----------------------
  5192. INT 7A - Novell NetWare - IPX Driver - SCHEDULE SPECIAL EVENT
  5193.     BX = 0007h
  5194.     AX = delay time
  5195.     ES:SI -> Event Control Block (see BX=0003h)
  5196. Note:    this function is supported by Advanced NetWare 1.02+
  5197. SeeAlso: BX=0006h
  5198. --------N-7A----BX0008-----------------------
  5199. INT 7A - Novell NetWare - IPX Driver - GET INTERVAL MARKER
  5200.     BX = 0008h
  5201. Return: AX = interval marker in clock ticks
  5202. Notes:    may be used to measure the time elapsed between two events, up to one
  5203.       hour
  5204.     this function is supported by Advanced NetWare 1.02+
  5205. SeeAlso: BX=0005h
  5206. --------N-7A----BX0009-----------------------
  5207. INT 7A - Novell NetWare - IPX Driver - GET INTERNETWORK ADDRESS
  5208.     BX = 0009h
  5209.     ES:SI -> buffer for own internetwork address (see #2408)
  5210. Return: ES:SI buffer filled
  5211.     SI destroyed
  5212. Note:    this function is supported by Advanced NetWare 1.02+
  5213. SeeAlso: BX=0002h,BX=000Bh
  5214.  
  5215. Format of IPX internetwork address:
  5216. Offset    Size    Description    (Table 2408)
  5217.  00h  4 BYTEs    (big-endian) network number
  5218.  04h  6 BYTEs    (big-endian) node number within network
  5219. --------N-7A----BX000A-----------------------
  5220. INT 7A - Novell NetWare - IPX Driver - RELINQUISH CONTROL
  5221.     BX = 000Ah
  5222. Desc:    this call indicates that the application is idle and permits the IPX
  5223.       driver to do some work
  5224. Note:    this function is supported by Advanced NetWare 1.02+
  5225. SeeAlso: INT 15/AX=1000h,INT 21/AH=89h,INT 2F/AX=1680h
  5226. --------N-7A----BX000B-----------------------
  5227. INT 7A - Novell NetWare - IPX Driver - DISCONNECT FROM TARGET
  5228.     BX = 000Bh
  5229.     ES:SI -> internetwork address (see #2409)
  5230. Notes:    this function permits the network software on the remote machine to
  5231.       remove any virtual connection with the calling machine
  5232.     only use in point-to-point networks
  5233.     should never be called from within an Event Service Routine
  5234.     this function is supported by Advanced NetWare 1.02+
  5235. SeeAlso: BX=0002h,BX=0009h
  5236.  
  5237. Format of IPX internetwork address:
  5238. Offset    Size    Description    (Table 2409)
  5239.  00h  4 BYTEs    (big-endian) destination network
  5240.  04h  6 BYTEs    (big-endian) destination node
  5241.  0Ah  2 BYTEs    (big-endian) destination socket
  5242. --------N-7A----BX000C-----------------------
  5243. INT 7A U - Novell NetWare - IPX Driver - internal - INITIALIZE NETWORK ADDRESS
  5244.     BX = 000Ch
  5245.     CX:DX = global network address (see INT 7A/BX=0002h)
  5246.     ES:DI -> "OSINCRITICALSECTION" flag
  5247.     DS:SI -> current mode for socket
  5248. Note:    the address cannot be changed once it has been initialized
  5249. SeeAlso: INT 7A/BX=0024h
  5250. --------N-7A----BX000D-----------------------
  5251. INT 7A U - Novell NetWare - IPX Driver - internal - IPX GET PACKET SIZE
  5252.     BX = 000Dh
  5253. Return: AX = maximum packet size
  5254.     CX = retry count
  5255. SeeAlso: BX=001Ah
  5256. --------N-7A----BX000E-----------------------
  5257. INT 7A U - Novell NetWare - IPX Driver - internal - TERMINATE SOCKETS
  5258.     BX = 000Eh
  5259. Return: nothing
  5260. Notes:    this function terminates all sockets opened with the current mode; this
  5261.       may be intended for future enhancements as the socket mode never
  5262.       changes in v2.15
  5263.     called by the NetWare shell if a program terminates
  5264. --------N-7A----BX000F-----------------------
  5265. INT 7A - Novell NetWare - IPX Driver - INTERNAL - SEND PACKET
  5266.     BX = 000Fh
  5267.     ES:SI -> Event Control Block (see BX=0003h)
  5268. Note:    nearly identical to function 0003h, but does not copy address into
  5269.       the first fragment, and bypasses normal error checking
  5270. SeeAlso: BX=0003h
  5271. --------N-7A----BX0010-----------------------
  5272. INT 7A - Novell NetWare - SPX Driver - INSTALLATION CHECK
  5273.     BX = 0010h
  5274.     AL = 00h
  5275. Return: AL = FFh if SPX loaded
  5276.         BH = SPX major version
  5277.         BL = SPX minor version
  5278.         CX = maximum SPX connections
  5279.         DX = SPX connections available
  5280. Notes:    this function is supported by Advanced NetWare 2.1+
  5281.     this interrupt is used for IPX/SPX access in NetWare versions through
  5282.       2.0a; in later versions, you should use INT 2F/AX=7A00h to get an
  5283.       entry point even though INT 7A still exists.    For both INT 7A and
  5284.       the FAR entry point, BX contains the function number
  5285.     IPX is sometimes called internally with BX bit 15 set, which causes the
  5286.       entry point handler to bypass some checks and an optional call to
  5287.       the IPX Windows support handler set with INT 2F/AX=7AFFh/BX=0000h
  5288.       (see #1619)
  5289. SeeAlso: BX=0015h
  5290. --------N-7A----BX0011-----------------------
  5291. INT 7A - Novell NetWare - SPX Driver - ESTABLISH SPX CONNECTION
  5292.     BX = 0011h
  5293.     AL = retry count
  5294.     AH = watchdog flag
  5295.     ES:SI -> Event Control Block (see BX=0003h)
  5296. Return: AL = status (see #2410)
  5297.     DX = assigned connection ID number
  5298. Desc:    attempt to establish a connection with a listening socket
  5299. Notes:    there should always be at least two SPX ECB's listening to a socket, so
  5300.       that NetWare can perform its internal packet exchanges
  5301.     the first fragment should start with a SPX header (see #2411).    Fill
  5302.       in all destination addresses.
  5303.     this function is supported by Advanced NetWare 2.1+
  5304. SeeAlso: BX=0000h,BX=0012h,BX=0013h,BX=0014h,BX=0015h
  5305.  
  5306. (Table 2410)
  5307. Values for SPX function status:
  5308.  00h    attempting to contact destination socket
  5309.  EFh    local connection table full
  5310.  FDh    buffer size not 42 or fragment count not 1
  5311.  FFh    sending socket not open
  5312.  
  5313. Format of SPX header:
  5314. Offset    Size    Description    (Table 2411)
  5315.  00h    WORD    (big-endian) checksum
  5316.  02h    WORD    (big-endian) length in bytes of total packet
  5317.  04h    BYTE    transport control
  5318.  05h    BYTE    packet type (see #2401 at INT 7A/BX=0003h)
  5319.  06h 10 BYTEs    destination internet address
  5320.  10h    WORD    (big-endian) destination socket
  5321.  12h 10 BYTEs    source internet address
  5322.  1Ch    WORD    (big-endian) source socket
  5323.  1Eh    BYTE    connection control (see #2412)
  5324.  1Fh    BYTE    datastream type
  5325.         FEh terminate connection request packet
  5326.         FFh terminate connection acknowledgement packet
  5327.         other user-defined, ignored by SPX
  5328.  20h    WORD    (big-endian) source connection ID
  5329.  22h    WORD    (big-endian) destination connection ID
  5330.  24h    WORD    (big-endian) sequence number
  5331.  26h    WORD    (big-endian) acknowledge number
  5332.  28h    WORD    (big-endian) allocation number
  5333. SeeAlso: #2400
  5334.  
  5335. Bitfields for SPX connection control:
  5336. Bit(s)    Description    (Table 2412)
  5337.  3-0    unused???
  5338.  4    end of message
  5339.  5    reserved
  5340.  6    acknowledgement required
  5341.  7    system packet
  5342. --------N-7A----BX0012-----------------------
  5343. INT 7A - Novell NetWare - SPX Driver - LISTEN FOR SPX CONNECTION
  5344.     BX = 0012h
  5345.     AH = watchdog flag (00h disabled, 01h enabled)
  5346.     AL = retry count (00h = default)
  5347.     ES:SI -> Event Control Block (see BX=0003h)
  5348. Notes:    there should always be at least two SPX ECB's listening to a socket, so
  5349.       that NetWare can perform its internal packet exchanges
  5350.     this function is supported by Advanced NetWare 2.1+
  5351. SeeAlso: BX=0011h,BX=0013h,BX=0014h
  5352. --------N-7A----BX0013-----------------------
  5353. INT 7A - Novell NetWare - SPX Driver - TERMINATE SPX CONNECTION
  5354.     BX = 0013h
  5355.     DX = connection ID to terminate
  5356.     ES:SI -> Event Control Block (see BX=0003h)
  5357. Note:    this function is supported by Advanced NetWare 2.1+
  5358. SeeAlso: BX=0011h,BX=0012h,BX=0014h
  5359. --------N-7A----BX0014-----------------------
  5360. INT 7A - Novell NetWare - SPX Driver - ABORT SPX CONNECTION
  5361.     BX = 0014h
  5362.     DX = connection ID to terminate
  5363. Notes:    this function is supported by Advanced NetWare 2.1+
  5364.     this function does not tell the other side that the connection has been
  5365.       terminated
  5366.     also aborts any outstanding Establish Connection, Terminate Connection,
  5367.       and Send Sequenced Packet commands
  5368. SeeAlso: BX=0011h,BX=0013h
  5369. --------N-7A----BX0015-----------------------
  5370. INT 7A - Novell NetWare - SPX Driver - GET SPX CONNECTION STATUS
  5371.     BX = 0015h
  5372.     DX = connection ID
  5373.     ES:SI -> status buffer (see #2413)
  5374. Return: AL = return code
  5375.         00h connection still valid
  5376.         ES:SI -> status buffer filled
  5377.         EEh no such connection
  5378. Note:    this function is supported by Advanced NetWare 2.1+
  5379. SeeAlso: BX=0010h,BX=0011h
  5380.  
  5381. Format of SPX status buffer:
  5382. Offset    Size    Description    (Table 2413)
  5383.  00h    BYTE    connection state
  5384.         01h waiting to establish connection
  5385.         02h starting (attempting to create connection)
  5386.         03h connection established
  5387.         04h terminating
  5388.  01h    BYTE    watchdog flag
  5389.         bit 0: used internally by SPX
  5390.         bit 1: SPX watchdog is monitoring connection
  5391.         bits 2-7 used internally by SPX
  5392.  02h    WORD    (big-endian) source connection ID
  5393.  04h    WORD    (big-endian) destination connection ID
  5394.  06h    WORD    (big-endian) sequence number of next packet sent
  5395.  08h    WORD    (big-endian) acknowledge number, expected sequence number of
  5396.           next received packet
  5397.  0Ah    WORD    (big-endian) maximum sequence number remote SPX may send
  5398.           without ACK from local SPX
  5399.  0Ch    WORD    (big-endian) remote acknowledge number, next sequence number
  5400.           remote SPX expects to receive
  5401.  0Eh    WORD    (big-endian) remote allocation number, maximum sequence number
  5402.           local SPX may send
  5403.  10h    WORD    (big-endian) connection socket
  5404.  12h  6 BYTEs    immediate node address--bridge on local network to destination
  5405.  18h 10 BYTEs    destination internetwork address (see #2409 at INT 7A/BX=000Bh)
  5406.  22h    WORD    (big-endian) retransmit count
  5407.  24h    WORD    (big-endian) estimated roundtrip delay
  5408.  26h    WORD    (big-endian) retransmitted packets
  5409.  28h    WORD    (big-endian) suppressed packets
  5410.  2Ah 12 BYTEs    ??? (v2.15)
  5411. --------N-7A----BX0016-----------------------
  5412. INT 7A - Novell NetWare - SPX Driver - SEND SPX PACKET
  5413.     BX = 0016h
  5414.     DX = connection ID
  5415.     ES:SI -> Event Control Block (see BX=0003h)
  5416. Notes:    this function is supported by Advanced NetWare 2.1+
  5417.     CX may need to be 0001h ???
  5418. SeeAlso: BX=0011h,BX=0017h
  5419. --------N-7A----BX0017-----------------------
  5420. INT 7A - Novell NetWare - SPX Driver - LISTEN FOR SPX PACKET
  5421.     BX = 0017h
  5422.     DX = connection ID (unused in v2.15)
  5423.     ES:SI -> Event Control Block (see BX=0003h)
  5424. Notes:    this function is supported by Advanced NetWare 2.1+
  5425.     CX may need to be 0001h ???
  5426. SeeAlso: BX=0011h,BX=0016h
  5427. --------N-7A----BX0018-----------------------
  5428. INT 7A U - Novell NetWare - IPX Driver - internal - ADD DIAGNOSTIC ELEMENT
  5429.     BX = 0018h
  5430.     ES:SI -> diagnostic element (see #2414) to be added to Diagnostic Queue
  5431. Note:    this function is supported on file servers only under v2.15; v3.02 also
  5432.       supports it on workstations
  5433. SeeAlso: BX=0019h
  5434.  
  5435. Format of IPX diagnostic element:
  5436. Offset    Size    Description    (Table 2414)
  5437.  00h    DWORD    pointer to next diagnostic element
  5438.  04h    DWORD    pointer to function for ???
  5439.  08h    DWORD    pointer to function for ???
  5440. --------N-7A----BX0019-----------------------
  5441. INT 7A U - Novell NetWare - IPX Driver - internal - CANCEL DIAGNOSTIC ELEMENT
  5442.     BX = 0019h
  5443.     ES:SI -> diagnostic element (see BX=0018h) to be removed
  5444. Note:    this function is supported on file servers only under v2.15; v3.02 also
  5445.       supports it on workstations
  5446. SeeAlso: BX=0018h
  5447. --------N-7A----BX001A-----------------------
  5448. INT 7A - Novell NetWare - IPX Driver - internal - GET DRIVER PACKT SIZE LIMIT
  5449.     BX = 001Ah
  5450. Return: AX = packet size with preamble
  5451.     CX = IPX retry count
  5452. Note:    this function is has existed since November 1989; it is documented in
  5453.       Novell document FYI.A.3709, 03May91
  5454. SeeAlso: BX=000Dh
  5455. --------N-7A----BX001B-----------------------
  5456. INT 7A U - Novell NetWare - IPX Driver - INTERNAL
  5457.     BX = 001Bh
  5458.     ???
  5459. Return: ???
  5460. Notes:    this function is supported on file servers only under v2.15; v3.02 also
  5461.       supports it on workstations
  5462.     used by NetWare Access Server, which may call INT 15/AX=1117h with
  5463.       BX=0000h in some cases (it uses a modified DESQview)
  5464. --------N-7A----BX001C-----------------------
  5465. INT 7A U - Novell NetWare - NetWare Access Server - GET ???
  5466.     BX = 001Ch
  5467. Return: AX = length of ???
  5468.     ES:BX -> ???
  5469. Notes:    these functions are NOPs for standard IPX drivers such as IPXODI v2.12
  5470. SeeAlso: INT 2F/AX=7AF1h,INT 7A/BX=001Dh,INT 7A/BX=001Eh
  5471. --------N-7A----BX001D-----------------------
  5472. INT 7A U - Novell NetWare - NetWare Access Server - GET ??? ECB AND SOCKET
  5473.     BX = 001Dh
  5474. Return: DX = socket number chosen by IPX
  5475.     ES:SI -> ECB in IPX's code segment (will be listening)
  5476.     BX corrupted
  5477. Notes:    these functions are NOPs for standard IPX drivers such as IPXODI v2.12
  5478. SeeAlso: INT 2F/AX=7AF1h,INT 7A/BX=001Ch,INT 7A/BX=001Eh
  5479. --------N-7A----BX001E-----------------------
  5480. INT 7A U - Novell NetWare - NetWare Access Server - GET ??? ECB
  5481.     BX = 001Eh
  5482. Return: ES:SI -> ECB
  5483.     BX corrupted
  5484. Notes:    these functions are NOPs for standard IPX drivers such as IPXODI v2.12
  5485. SeeAlso: INT 2F/AX=7AF1h,INT 7A/BX=001Ch,INT 7A/BX=001Dh
  5486. --------N-7A----BX001F-----------------------
  5487. INT 7A - Novell NetWare - IPXODI v2.12+ - GET IPX FLAGS
  5488.     BX = 001Fh
  5489.     DX = 0000h
  5490. Return: AX = ???
  5491.     BX:CX -> ??? entry point (see #2415)
  5492.     DX = flags
  5493.         bit 0: IPXODI rather than dedicated IPX
  5494.         bit 1: checksumming functions 0020h-0022h supported
  5495.     ES:SI -> array of words containing used socket number (undocumented);
  5496.         0000h ends array
  5497. Note:    IPXODI v2.12 is distributed as part of the Personal NetWare system
  5498.       bundled with Novell DOS 7
  5499. SeeAlso: BX=0020h,INT 2F/AX=7A2Fh
  5500.  
  5501. (Table 2415)
  5502. Call IPXODI entry point with:
  5503.     ES:SI -> ECB??? (offset 24h is far pointer to ??? data)
  5504. --------N-7A----BX0020-----------------------
  5505. INT 7A - Novell NetWare - IPXODI v2.12+ - SEND WITH CHECKSUM
  5506.     BX = 0020h
  5507.     ES:SI -> ECB (see #2395 at INT 7A/BX=0003h)
  5508. Return: DS preserved
  5509.     BX,BP corrupted
  5510. SeeAlso: BX=001Fh,BX=0021h,BX=0022h,INT 2F/AX=7A2Fh
  5511. --------N-7A----BX0021-----------------------
  5512. INT 7A - Novell NetWare - IPXODI v2.12+ - IPX GENERATE CHECKSUM
  5513.     BX = 0021h
  5514.     ES:SI -> ECB data (see #2395 at INT 7A/BX=0003h)
  5515. Return: ES,DS,SI preserved
  5516.     BX,BP corrupted
  5517. Notes:    the checksum and TransportControl fields of the IPX packet are updated
  5518.     this function enables interrupts and is fully reentrant
  5519. SeeAlso: BX=001Fh,BX=0020h,BX=0022h,INT 2F/AX=7A2Fh
  5520. --------N-7A----BX0022-----------------------
  5521. INT 7A - Novell NetWare - IPXODI v2.12+ - IPX VERIFY CHECKSUM
  5522.     BX = 0022h
  5523.     ES:SI -> ECB data (see #2395 at INT 7A/BX=0003h)
  5524. Return: AX = status (0000h checksum matches)
  5525.     DS,ES,SI preserved
  5526.     BX,BP corrupted
  5527. Note:    this function enables interrupts and is fully reentrant
  5528. SeeAlso: BX=001Fh,BX=0020h,BX=0021h,INT 2F/AX=7A2Fh
  5529. --------N-7A----BX0023-----------------------
  5530. INT 7A - Novell NetWare - IPXODI v2.12+ - OPEN LOOK-AHEAD SOCKET
  5531.     BX = 0023h
  5532.     AL = ???
  5533.     DX = socket number
  5534.     ES:SI -> Look Ahead handler (see #2416)
  5535. Return: AL = 00h if successful
  5536.     BX corrupted
  5537. Notes:    the socket will always be long-lived, and must thus be explicitly
  5538.       closed with INT 7A/BX=0001h before the Look Ahead handler code is
  5539.       removed from memory (i.e. the program terminates)
  5540.     this function is only supported if INT 2F/AX=7A00h returns ES:BX
  5541.       pointing at an IPX version greater than 3.30
  5542. SeeAlso: INT 7A/BX=0000h,INT 7A/BX=0001h
  5543.  
  5544. (Table 2416)
  5545. Call IPX Look-Ahead handler with:
  5546.     AX = socket
  5547.     DS:SI -> look-ahead structure (see #1694 at INT 2F/AX=C000h"LSL")
  5548.     DF clear
  5549.     interrupt disabled (must remain disabled)
  5550. Return: AX = packet use
  5551.         0000h application want packet
  5552.         ES:SI -> ODI ECB (see #1695 at INT 2F/AX=C000h"LSL")
  5553.         8001h application does not want packet
  5554.     ZF set if AX=0000h
  5555.     DS,DI,BP,SS,SP preserved
  5556. --------N-7A----BX0024-----------------------
  5557. INT 7A U - Novell NetWare - IPXODI v2.20+ - SET INTERNETWORK ADDRESS
  5558.     BX = 0024h
  5559.     ES:SI -> buffer containing internetwork address (see #2409)
  5560. Return: BX,CX,SI,DI,ES destroyed
  5561. Note:    this function differs from INT 7A/BX=000Ch in that it unconditionally
  5562.       sets the address
  5563. SeeAlso: INT 7A/BX=000Ch
  5564. --------A-7A0001-----------------------------
  5565. INT 7A R - AutoCAD Device Interface - DISPLAY - INITIALIZE (INIT1)
  5566.     AX = 0001h
  5567.     BX = configuration
  5568.     CX = interface level (0001h)
  5569. Return: AX = status
  5570.         0000h initialization failed
  5571.         0001h pre-v4.0 driver initialized successfully
  5572.         0003h post-v3.1 driver initialized successfully (driver truncates
  5573.           excessivly long packets)
  5574.     BX = width of graphics area in pixels, or 0000h if using packet
  5575.           communication
  5576.     DX:CX -> packet-mode entry point (see #2417)
  5577. SeeAlso: AX=0001h,AX=0200h,AX=07D0h,INT 61/AX=0007h"OPTIMA",INT 78"AutoCAD"
  5578. SeeAlso: INT 79/AX=0001h,INT 7B/AX=8001h"AutoCAD",INT 7C"AutoShade"
  5579.  
  5580. (Table 2417)
  5581. Call packet-mode entry point with:
  5582. STACK:    DWORD    pointer to request packet (see #2418)
  5583.     WORD    length of packet
  5584.  
  5585. Format of request packet:
  5586. Offset    Size    Description    (Table 2418)
  5587.  00h    WORD    function number (00h-45h for Compaq VGADI41.EXE)
  5588. --------A-7A0200BX0000-----------------------
  5589. INT 7A R - AutoCAD Device Interface - RENDERING DEVICE - INITIALIZE (RDLINKUP)
  5590.     AX = 0200h
  5591.     BX = 0000h
  5592.     CX = interface level (0001h)
  5593. Return: BX = 0000h (driver uses packet communication)
  5594.     DX:CX -> packet-mode entry point (see #2417)
  5595. SeeAlso: AX=0001h"AutoCAD",INT 79/AX=0001h,INT 7B/AX=8001h"AutoCAD"
  5596. --------I-7A04-------------------------------
  5597. INT 7A - IBM 3270 Workstation Program API - CREATE A QUEUE
  5598.     AH = 04h
  5599.     ???
  5600. Return: ???
  5601. SeeAlso: AH=06h
  5602. --------I-7A06-------------------------------
  5603. INT 7A - IBM 3270 Workstation Program API - DELETE A QUEUE
  5604.     AH = 06h
  5605.     ???
  5606. Return: ???
  5607. SeeAlso: AH=04h
  5608. ----------7A07D0-----------------------------
  5609. INT 7A R - AutoCAD Device Interface - Compaq VGADI41.EXE - GET ENTRY POINT
  5610.     AX = 07D0h
  5611. Return: AX = ??? (0003h)
  5612.     BX = 0000h
  5613.     DX:CX -> ADI entry point (see AX=0001h)
  5614. SeeAlso: AX=0001h
  5615. --------I-7A09--BX8020-----------------------
  5616. INT 7A - IBM 3270 Workstation Program API - SESSION SERVICES
  5617.     AH = 09h
  5618.     BX = 8020h (synchronous request)
  5619.     CX = 0000h
  5620.     DX = ID of session manager (SESSMGR)
  5621.     AL = service (see #2419)
  5622.     ES:DI -> control block
  5623. Return: ???
  5624.  
  5625. (Table 2419)
  5626. Values for service:
  5627.  01h    get session ID
  5628.  02h    get session info
  5629.  04h    dettach from session
  5630.  05h    attach to session
  5631.  06h    get list of windows available
  5632.  07h    get environment of window
  5633.  08h    get 'PIF' (program information file) info
  5634.  0Ah    get base window ID
  5635.  0Bh    get cursor info
  5636. --------I-7A09--BX8020-----------------------
  5637. INT 7A - IBM 3270 Workstation Program API - KEYBOARD SERVICES
  5638.     AH = 09h
  5639.     BX = 8020h (synchronous request)
  5640.     CX = 0000h
  5641.     DX = ID of keyboard manager
  5642.     AL = service number (see #2420)
  5643.     ES:DI -> control block
  5644. Return: ???
  5645.  
  5646. (Table 2420)
  5647. Values for 3270 Workstation Program keyboard service:
  5648.  01h    connect to keyboard
  5649.  02h    disconnect from keyboard
  5650.  03h    read from keyboard
  5651.  04h    send keystroke to session
  5652.  05h    disable input
  5653.  06h    enable input
  5654.  07h    update status code
  5655. --------I-7A09--BX8020-----------------------
  5656. INT 7A - IBM 3270 Workstation Program API - WINDOW SERVICES
  5657.     AH = 09h
  5658.     BX = 8020h (synchronous request)
  5659.     CX = 00FFh
  5660.     DX = ID of window service controller (WSCTRL)
  5661.     AL = service number (see #2421)
  5662.     ES:DI -> control block
  5663. Return: ???
  5664.  
  5665. (Table 2421)
  5666. Values for 3270 Workstation Program window service:
  5667.  01h    connect to WS control
  5668.  02h    disconnect from WS control
  5669.  03h    add a window
  5670.  04h    change window's position on screen
  5671.  05h    change window's size
  5672.  06h    change window's color
  5673.  07h    change window's position in the presentation space
  5674.  08h    hide/unhide toggle
  5675.  09h    enlarge/reduce toggle
  5676.  0Ah    change screen background color
  5677.  0Bh    get window's position on screen
  5678.  0Ch    get window's size
  5679.  0Dh    get window's color
  5680.  0Eh    get window's position in the presentation space
  5681.  0Fh    determine whether hidden
  5682.  10h    determine whether enlarged
  5683.  11h    get background color
  5684.  12h    get window names
  5685.  13h    delete all windows from profile
  5686.  14h    pick active window
  5687.  15h    redraw screen
  5688.  16h    redraw window
  5689.  17h    delete a window from profile
  5690.  18h    get active window
  5691.  19h    get active screen
  5692.  1Ah    get window data
  5693.  1Bh    change window data
  5694.  1Ch    select active screen
  5695. --------I-7A09--BX8020-----------------------
  5696. INT 7A - IBM 3270 Workstation Program API - PRESENTATION SPACE SERVICES
  5697.     AH = 09h
  5698.     BX = 8020h
  5699.     CX = 00FFh
  5700.     DX = ID of PCPSM
  5701.     AL = service
  5702.         01h define presentation space
  5703.         02h delete presentation space
  5704.         03h display presentation space
  5705.         04h position cursor in presentation space
  5706.         05h change default presentation space
  5707.     ES:DI -> control block
  5708. Return: ???
  5709. --------I-7A09--BX8020-----------------------
  5710. INT 7A - IBM 3270 Workstation Program API - 3270 EMULATION
  5711.     AH = 09h
  5712.     BX = 8020h
  5713.     CX = 00FFh
  5714.     DX = ID of 3270EML
  5715.     AL = service
  5716.         01h connect
  5717.         02h disconnect
  5718.     ES:DI -> control block
  5719. Return: ???
  5720. --------I-7A09--BX8020-----------------------
  5721. INT 7A - IBM 3270 Workstation Program API - OPERATOR INFORMATION AREA
  5722.     AH = 09h
  5723.     BX = 8020h
  5724.     CX = 00FFh
  5725.     DX = ID of OIAM
  5726.     AL = service
  5727.         01h read Operator Information Area
  5728.         02h read OIA subset
  5729.     ES:DI -> control block
  5730. Return: ???
  5731. Note: the OIA is the 25th line on the Host session
  5732. --------I-7A09--BX8020-----------------------
  5733. INT 7A - IBM 3270 Workstation Program API - TRANSLATE DATA
  5734.     AH = 09h
  5735.     BX = 8020h
  5736.     CX = 00FFh
  5737.     DX = ID of XLATE
  5738.     AL = service
  5739.         01h translate from host characters to ASCII and vice versa
  5740.         (determined by control block byte 11)
  5741.     ES:DI -> control block
  5742. Return: ???
  5743. --------I-7A09--BX8020-----------------------
  5744. INT 7A - IBM 3270 Workstation Program API - COPY SERVICE
  5745.     AH = 09h
  5746.     BX = 8020h
  5747.     CX = 00FFh
  5748.     DX = ID of copy service
  5749.     AL = service
  5750.         01h copy string from one presentation space to another
  5751.         02h copy block from one presentation space to another
  5752.         03h connect to PC session for copy
  5753.         04h disconnect PC session from copy
  5754.     ES:DI -> control block
  5755. Return: ???
  5756. --------I-7A09--BX8020-----------------------
  5757. INT 7A - IBM 3270 Workstation Program API - Multi-DOS
  5758.     AH = 09h
  5759.     BX = 8020h
  5760.     CX = 00FFh
  5761.     ES:DI -> control block
  5762.     DX = ID of INDJQRY
  5763.         get environment size
  5764.        = ID of INDJASY
  5765.         request DOS functions from workstation
  5766.        = ID of MEMORY
  5767.         AL = function
  5768.             01h allocate memory
  5769.             02h deallocate memory
  5770.             03h modify allocated size
  5771. Return: ???
  5772. --------I-7A09-------------------------------
  5773. INT 7A - IBM 3270 Workstation Program API - HOST SERVICES
  5774.     AH = 09h
  5775.     BX = request type (4000h async, 8028h synchronous)
  5776.     CX = 0000h
  5777.     DX = ID of MFIC
  5778.     AL = service (see #2422)
  5779.     ES:DI -> control block
  5780.  
  5781. (Table 2422)
  5782. Values for 3270 Workstation Program host service:
  5783.  01h    connect to host
  5784.  02h    disconnect from host
  5785.  03h    read DFT structured data from host
  5786.  04h    write DFT structured data to host
  5787.  05h    create a host buffer
  5788. --------I-7A13-------------------------------
  5789. INT 7A - IBM 3270 Workstation Program API - GET DATA FROM A QUEUE
  5790.     AH = 13h
  5791.     ???
  5792. Return: ???
  5793. ----------7A7A-------------------------------
  5794. INT 7A - Canon IX-30F Image Scanner SI3.SYS - INTERFACE
  5795.     AH = 7Ah
  5796.     ???
  5797. Return: AX = status
  5798.         0000h success
  5799.         000Eh undefined function code
  5800. Range:    unknown, selected by device driver commandline arguments
  5801. --------I-7A81-------------------------------
  5802. INT 7A - IBM 3270 Workstation Program API - RESOLVE A GATE NAME
  5803.     AH = 81h
  5804.     ES:DI -> 8-char blank-padded gate name (see #2423)
  5805. Return: DX = gate ID
  5806.  
  5807. (Table 2423)
  5808. Values for 3270 Workstation Program gate name:
  5809.  "SESSMGR "
  5810.  "KEYBOARD"
  5811.  "WSCTRL  "
  5812.  "MFIC      "
  5813.  "PCPSM      "
  5814.  "3270EML "
  5815.  "COPY      "
  5816.  "XLATE      "
  5817.  "OIAM      "
  5818.  "MEMORY  "
  5819.  "INDJQRY "
  5820.  "INDJASY "
  5821. --------I-7A83-------------------------------
  5822. INT 7A - IBM 3270 Workstation Program API - GET COMPLETION RESULTS
  5823.     AH = 83h
  5824.     ???
  5825. Return: ???
  5826. --------I-7AFDCB-----------------------------
  5827. INT 7A - IBM Personal Communications/3270 - INSTALLATION CHECK
  5828.     AX = FDCBh
  5829. Return: DX:AX -> PCS/3270 signature block if loaded (see #2424)
  5830.  
  5831. Format of Personal Communications/3270 signature block:
  5832. Offset    Size    Description    (Table 2424)
  5833.  04h    WORD    PCS/3270 signature (5741h)
  5834.  06h    WORD    version (0501h = PCS/3270 v1.0)
  5835. --------I-7AFE01-----------------------------
  5836. INT 7A - IBM PC3270 EMUL PROG v3 - INTERNAL SEND/RECEIVE FUNCTION
  5837.     AX = FE01h
  5838.     ???
  5839. Return: ???
  5840. SeeAlso: AX=FE02h
  5841. --------I-7AFE02-----------------------------
  5842. INT 7A - IBM PC3270 EMUL PROG v3 - INTERNAL SEND/RECEIVE FUNCTION
  5843.     AX = FE02h
  5844.     ???
  5845. Return: ???
  5846. SeeAlso: AX=FE01h
  5847. --------I-7AFF01-----------------------------
  5848. INT 7A - IBM PC3270 EMUL PROG v3 - INTERNAL API INITIALIZATION
  5849.     AX = FF01h
  5850.     ES:DI -> API function handler routine
  5851. Return: CX = 1200h
  5852. SeeAlso: AX=FF02h,AX=FF03h
  5853. --------I-7AFF02-----------------------------
  5854. INT 7A - IBM PC3270 EMUL PROG v3 - INTERNAL API TERMINATION
  5855.     AX = FF02h
  5856. Return: CX = 1200h
  5857. SeeAlso: AX=FF01h
  5858. --------I-7AFF03-----------------------------
  5859. INT 7A - IBM PC3270 EMUL PROG v3 - INTERNAL API INITIALIZATION
  5860.     AX = FF03h
  5861.     ES:DI -> send/receive function handler routine
  5862. Return: CX = 1200h
  5863. SeeAlso: AX=FF01h
  5864. --------I-7AFF04-----------------------------
  5865. INT 7A U - IBM PC3270 EMUL PROG v3 - INTERNAL ???
  5866.     AX = FF04h
  5867.     ES:DI -> ???
  5868. Return: CX = 1200h
  5869. --------f-7B---------------------------------
  5870. INT 7B - Btrieve API (single user)
  5871.     DS:DX -> 38-byte parameter record (see #2425)
  5872. Return: return code field set
  5873. Note:    Btrieve sets low byte of vector to 33h; this serves as the installation
  5874.       check
  5875. SeeAlso: INT 2F/AX=AB01h,INT 7F/AX=0200h
  5876.  
  5877. Format of Btrieve parameter record:
  5878. Offset    Size    Description    (Table 2425)
  5879.  00h    DWORD    pointer to data buffer
  5880.  04h    WORD    data buffer length
  5881.  06h    DWORD    pointer to 90-byte record containing positioning info
  5882.         (should be same for all calls for same file)
  5883.  0Ah    DWORD    pointer to 38-byte FCB info buffer
  5884.         (should be same for all calls for same file)
  5885.  0Eh    WORD    function code (see #2426)
  5886.  10h    DWORD    pointer to file name/key buffer
  5887.  14h    BYTE    key length
  5888.  15h    BYTE    key number
  5889.  16h    DWORD    pointer to status code (see #2427)
  5890.  1Ah    WORD    interface code (version specific)
  5891.         6176h version 5.10
  5892.  
  5893. (Table 2426)
  5894. Values for function code:
  5895.  00h    open
  5896.  01h    close
  5897.  02h    insert
  5898.  03h    update
  5899.  04h    delete
  5900.  05h    get_equal
  5901.  06h    get_next
  5902.  07h    get_prev
  5903.  08h    get_greater
  5904.  09h    get_gr_eql
  5905.  0Ah    get_less
  5906.  0Bh    get_less_eq
  5907.  0Ch    get_first
  5908.  0Dh    get_last
  5909.  0Eh    create
  5910.  0Fh    stat
  5911.  10h    extend
  5912.  11h    set_dir: set directory information
  5913.  12h    get_dir: get directory information
  5914.  13h    begin_trans
  5915.  14h    end_trans
  5916.  15h    abort_trans
  5917.  16h    get_pos: get record position number
  5918.  17h    get_direct: get data by sending record position
  5919.  18h    step_next
  5920.  19h    stop
  5921.  1Ah    version
  5922.  1Bh    unlock
  5923.  1Ch    reset
  5924.  1Dh    set owner
  5925.  1Eh    clear owner
  5926.  1Fh    create supplemental index
  5927.  20h    drop supplemental index
  5928.  21h    step first
  5929.  22h    step last
  5930.  23h    step previous
  5931.  24h    get next extended: get multiple records using a filter
  5932.  25h    get previous extended: get multiple records using a filter
  5933.  26h    step next extended: get multiple records using a filter
  5934.  27h    step previous extended: get multiple records using a filter
  5935.  28h    insert extended: insert one or more records
  5936.  31h    ???
  5937. Notes:    add 50 (32h) to any "get" operation to just return the key data
  5938.     add 100 (64h) for a single-record wait lock (automatically released
  5939.       on next get)
  5940.     add 200 (C8h) for a single-record nowait lock (nowait lock returns
  5941.       error 54h or 55h if record already locked)
  5942.     add 300 (12Ch) for a multiple-record wait lock (not released until
  5943.       unlock called)
  5944.     add 400 (190h) for a multiple-record nowait lock (nowait lock returns
  5945.       error 54h or 55h if record already locked)
  5946.  
  5947. (Table 2427)
  5948. Values for Btrieve status code:
  5949.  00h    successful
  5950.  01h    invalid operation
  5951.  02h    I/O error
  5952.  03h    file not open
  5953.  04h    key value not found
  5954.  05h    duplicate key value
  5955.  06h    invalid key number
  5956.  07h    different key number
  5957.  08h    invalid positioning
  5958.  09h    end of file
  5959.  0Ah    modifiable key value error
  5960.  0Bh    invalid file name
  5961.  0Ch    file not found
  5962.  0Dh    extended file error
  5963.  0Eh    pre-image open error
  5964.  0Fh    pre-image I/O error
  5965.  10h    expansion error
  5966.  11h    close error
  5967.  12h    disk full
  5968.  13h    unrecoverable error
  5969.  14h    record manager inactive
  5970.  15h    key buffer too short
  5971.  16h    data buffer length overrun
  5972.  17h    position block length
  5973.  18h    page size error
  5974.  19h    create I/O error
  5975.  1Ah    number of keys
  5976.  1Bh    invalid key position
  5977.  1Ch    invalid record length
  5978.  1Dh    invalid key length
  5979.  1Eh    not a Btrieve file
  5980.  1Fh    file already extended
  5981.  20h    extended I/O error
  5982.  22h    invalid extension name
  5983.  23h    directory error
  5984.  24h    transaction error
  5985.  25h    transaction is active
  5986.  26h    transaction control file I/O error
  5987.  27h    end/abort transaction error
  5988.  28h    transaction max files
  5989.  29h    operation not allowed
  5990.  2Ah    incomplete accelerated access
  5991.  2Bh    invalid record address
  5992.  2Ch    null key path
  5993.  2Dh    inconsistent key flags
  5994.  2Eh    access to file denied
  5995.  2Fh    maximum open files
  5996.  30h    invalid alternate sequence definition
  5997.  31h    key type error
  5998.  32h    owner already set
  5999.  33h    invalid owner
  6000.  34h    error writing cache
  6001.  35h    invalid interface
  6002.  36h    variable page error
  6003.  37h    autoincrement error
  6004.  38h    incomplete index
  6005.  39h    expanded memory error
  6006.  3Ah    compression buffer too short
  6007.  3Bh    file already exists
  6008.  3Ch    reject count reached
  6009.  3Dh    work space too small
  6010.  3Eh    incorrect descriptor
  6011.  3Fh    invalid extended insert
  6012.  40h    filter limit reached
  6013.  41h    incorrect field offset
  6014.  4Ah    automatic transaction abort
  6015.  4Dh    Btrieve engine busy or resource locked by another user
  6016.  4Eh    deadlock detected
  6017.  50h    conflict
  6018.  51h    lock error
  6019.  52h    lost position
  6020.  53h    read outside transaction
  6021.  54h    record in use
  6022.  55h    file in use
  6023.  56h    file table full
  6024.  57h    handle table full
  6025.  58h    incompatible open mode
  6026.  5Ah    redirected device table full
  6027.  5Bh    server error
  6028.  5Ch    transaction table full
  6029.  5Dh    incompatible lock type
  6030.  5Eh    permission error
  6031.  5Fh    session no longer valid
  6032.  60h    communications environment error
  6033.  61h    data message too small
  6034.  62h    internal transaction error
  6035. --------I-7B---------------------------------
  6036. INT 7B - Eicon Access API (3270/5250 gateways)
  6037. SeeAlso: INT 5C"NetBIOS"
  6038. --------E-7B---------------------------------
  6039. INT 7B - DJGPP GO32.EXE DOS EXTENDER - RELOCATED IRQ3
  6040. Notes:    this vector is overwritten when GO32 starts but is not restored by
  6041.       early versions of the extender
  6042.     the newest versions of GO32 dynamically allocate the vectors used
  6043.       for the relocated IRQs, much as DESQview does (see INT 50"DESQview")
  6044. SeeAlso: INT 0B,INT 10/AH=FFh"GO32",INT 7A"GO32",INT 7C"GO32"
  6045. --------A-7B---------------------------------
  6046. INT 7B CR - AutoCAD Device Interface - PRINTER/PLOTTER - SEND PLOTTING DATA
  6047.     AX = data length (0000h-7FFFh)
  6048.     CX:BX -> data to be plotted
  6049.     DX = vertical position of line on page
  6050. Return: nothing
  6051. Notes:    This interrupt is called by AutoCAD to perform its output
  6052.     A data length of 0000h indicates that a blank line is to be output
  6053. SeeAlso: AX=8001h,AX=8002h,INT 78"AutoCAD",INT 7A/AX=0001h"AutoCAD"
  6054. ----------7B---------------------------------
  6055. INT 7B - Novell XQL - XQL PRIMITIVES MANAGER API
  6056.     DS:DX -> parameter block (see #2429)
  6057. Return: parameter block updated
  6058.  
  6059. (Table 2428)
  6060. Values for Novell XQL function number:
  6061.  00h    log in
  6062.  01h    log out
  6063.  02h    "tNewFcn"
  6064.  03h    "tFreeFcn"
  6065.  04h    "tMoveFldFcn"
  6066.  05h    "tFieldFcn"
  6067.  06h    "tDescribeFcn"
  6068.  07h    "tFetchFcn"
  6069.  08h    "tComputeFcn"
  6070.  09h    "tOrderFcn"
  6071.  0Ah    "tRestrictFcn"
  6072.  0Bh    "tJoinFcn"
  6073.  0Ch    "tInsertFcn"
  6074.  0Dh    "tUpdateFcn"
  6075.  0Eh    "tUpdallFcn"
  6076.  0Fh    "tRemoveFcn"
  6077.  10h    "tRemallFcn"
  6078.  11h    "tResetFcn"
  6079.  12h    "tTransFcn"
  6080.  13h    "tStatFcn"
  6081.  14h    "tDDCreFcn"
  6082.  15h    "tStoreFcn"
  6083.  16h    "tRecallFcn"
  6084.  17h    "tStopFcn"
  6085.  18h    "tDDFileFcn"
  6086.  19h    "tDDFieldFcn"
  6087.  1Ah    "tDDIndexFcn"
  6088.  1Bh    "tDDModFcn"
  6089.  1Ch    "tDDViewFcn"
  6090.  1Dh    "tDDDrpFcn"
  6091.  1Eh    "tDDPathFcn"
  6092.  1Fh    "tDDAttrFcn"
  6093.  20h    "tDDFcn"
  6094.  21h    "tSecurFcn"
  6095.  22h    "tUserFcn"
  6096.  23h    "tAccessFcn"
  6097.  24h    "tPswdFcn"
  6098.  25h    "tCharFcn"
  6099.  26h    "tVersionFcn"
  6100.  27h    "tCnvFcn"
  6101.  28h    "tValFcn"
  6102.  29h    "tMaskFcn"
  6103. SeeAlso: #2429
  6104.  
  6105. Format of XQL parameter block:
  6106. Offset    Size    Description    (Table 2429)
  6107.  00h  4 BYTEs    signature "XQLP"
  6108.  04h    WORD    function number (see #2428)
  6109.  06h    WORD    handle
  6110.  08h    WORD    status
  6111.  0Ah    WORD    session ID
  6112.  0Ch    var    data record (varies by function)
  6113. ---function 00h---
  6114.  0Ch    DWORD    -> user name
  6115.  10h    DWORD    -> password
  6116.  14h    DWORD    -> dictionary
  6117.  18h    DWORD    -> filepath
  6118.  1Ch    DWORD    -> machine name
  6119.  20h    WORD    process ID
  6120. ---function 01h---
  6121.  no additional fields???
  6122. ---function 02h---
  6123.  0Ch    DWORD    -> filename
  6124.  10h    DWORD    -> owner name
  6125.  14h    WORD    open mode
  6126. ---function 03h---
  6127.  no additional fields???
  6128. ---function 04h---
  6129.  0Ch    WORD    "frompos"
  6130.  0Eh    WORD    "topos"
  6131. ---function 05h---
  6132.  0Ch    WORD    subfunction
  6133.  0Eh    WORD    position
  6134.  10h    WORD    count
  6135.  12h    DWORD    -> field list
  6136. ---function 06h---
  6137.  0Ch    WORD    subfunction
  6138.  0Eh    WORD    length of description
  6139.  10h    WORD    position
  6140.  12h    WORD    count
  6141.  14h    DWORD    pointer to description list
  6142. ---function 07h---
  6143.  0Ch    WORD    data length
  6144.  0Eh    WORD    "op"
  6145.  10h    DWORD    "select"
  6146.  14h    DWORD    "reject"
  6147.  18h    DWORD    pointer to data buffer
  6148. ---function 08h---
  6149.  0Ch    DWORD    -> field name
  6150.  10h    WORD    field type
  6151.  12h    WORD    field size
  6152.  14h    WORD    "flddec"
  6153.  16h    WORD    "explen"
  6154.  18h    DWORD    pointer to "expbuf"
  6155. ---function 09h---
  6156.  0Ch    WORD    count
  6157.  0Eh    DWORD    -> field list
  6158. ---function 0Ah---
  6159.  0Ch    WORD    "newexp"
  6160.  0Eh    WORD    "explen"
  6161.  10h    DWORD    -> "expbuf"
  6162. ---function 0Bh---
  6163.  0Ch    DWORD    -> filename
  6164.  10h    DWORD    -> owner name
  6165.  14h    WORD    type of join
  6166.  16h    WORD    "pCount"
  6167.  18h    DWORD    -> "pNames"
  6168.  1Ch    WORD    "sCount"
  6169.  1Eh    DWORD    -> "sNames"
  6170. ---functions 0Ch, 0Dh, 0Fh---
  6171.  0Ch    WORD    file count
  6172.  0Eh    DWORD    -> file list
  6173.  12h    DWORD    count
  6174.  16h    DWORD    -> buffer
  6175. ---function 0Eh---
  6176.  0Ch    WORD    file count
  6177.  0Eh    DWORD    -> file list
  6178.  12h    WORD    "op"
  6179.  14h    DWORD    "select"
  6180.  18h    DWORD    "reject"
  6181.  1Ch    WORD    count
  6182.  1Eh    DWORD    -> "res"
  6183.  22h    DWORD    -> "comp"
  6184. ---function 10h---
  6185.  0Ch    WORD    file count
  6186.  0Eh    DWORD    -> file list
  6187.  12h    WORD    "op"
  6188.  14h    DWORD    "select"
  6189.  18h    DWORD    "reject"
  6190. ---function 11h---
  6191.  0Ch    DWORD    machine name
  6192. ---function 12h---
  6193.  0Ch    WORD    option
  6194. ---function 13h---
  6195.  0Ch    WORD    subfunction
  6196.  0Eh    WORD    length of buffer
  6197.  10h    DWORD    -> buffer
  6198. ---function 14h---
  6199.  0Ch    WORD    subfunction
  6200.  0Eh    DWORD    -> filename
  6201.  12h    WORD    "create"
  6202.  14h    DWORD    -> pathname
  6203.  18h    DWORD    -> owner name
  6204.  1Ch    WORD    owner access restrictions
  6205.  1Eh    WORD    number of fields
  6206.  20h    DWORD    -> field list
  6207.  24h    WORD    number of keys
  6208.  28h    DWORD    -> key list
  6209.  2Ch    WORD    "buflen"
  6210.  2Eh    DWORD    -> create parameters
  6211. ---function 15h---
  6212.  0Ch    DWORD    -> "StoreName"
  6213.  10h    WORD    length of buffer
  6214.  12h    DWORD    -> buffer
  6215. ---function 16h---
  6216.  0Ch    DWORD    -> "RecallName"
  6217.  10h    WORD    owner number
  6218.  12h    DWORD    -> owner list
  6219.  16h    WORD    open mode
  6220.  18h    WORD    length of buffer
  6221.  1Ah    DWORD    -> buffer
  6222. ---function 17h---
  6223.  no additional fields???
  6224. ---function 18h---
  6225.  0Ch    WORD    "rtype"
  6226.  0Eh    WORD    count
  6227.  10h    DWORD    -> "filebuf"
  6228.  14h    WORD    length of following buffer
  6229.  16h    DWORD    -> output buffer
  6230. ---functions 19h, 1Ah---
  6231.  0Ch    WORD    "rtype"
  6232.  0Eh    WORD    count
  6233.  10h    DWORD    -> field buffer
  6234.  14h    WORD    length of following buffer
  6235.  16h    DWORD    -> output buffer
  6236. ---function 1Bh---
  6237.  0Ch    WORD    subfunction
  6238.  0Eh    DWORD    -> filename
  6239.  12h    WORD    "create"
  6240.  14h    DWORD    -> pathname
  6241.  18h    DWORD    -> owner name
  6242.  1Ch    WORD    owner access restrictions
  6243.  1Eh    WORD    field count
  6244.  20h    DWORD    -> field list
  6245.  24h    WORD    number of keys
  6246.  26h    DWORD    -> list of keys
  6247. ---function 1Ch---
  6248.  0Ch    WORD    count
  6249.  0Eh    DWORD    -> view name
  6250.  12h    WORD    length of following buffer
  6251.  14h    DWORD    -> output buffer
  6252. ---function 1Dh---
  6253.  0Ch    DWORD    -> filename
  6254.  10h    WORD    file type
  6255.  12h    WORD    "deletepath"
  6256. ---function 1Eh---
  6257.  0Ch    WORD    "dirtype"
  6258.  0Eh    DWORD    -> pathname
  6259. ---function 1Fh---
  6260.  0Ch    WORD    function
  6261.  0Eh    DWORD    -> field name
  6262.  12h    WORD    attribute
  6263.  14h    WORD    size of buffer
  6264.  16h    DWORD    -> buffer for attributes
  6265. ---function 20h---
  6266.  0Ch    DWORD    -> directory path
  6267.  10h    WORD    function
  6268. ---function 21h---
  6269.  0Ch    DWORD    -> master password
  6270.  10h    WORD    "securityflag"
  6271. ---function 22h---
  6272.  0Ch    DWORD    -> master password
  6273.  10h    WORD    function (add/modify/remove)
  6274.  12h    DWORD    -> user name
  6275.  16h    DWORD    -> password
  6276.  1Ah    WORD    global rights
  6277.  1Ch    WORD    count
  6278.  1Eh    WORD    length of following buffer
  6279.  20h    DWORD    -> "userbuf"
  6280. ---function 23h---
  6281.  0Ch    DWORD    -> master password
  6282.  10h    DWORD    -> user name
  6283.  14h    WORD    function (allow/deny/getrights)
  6284.  16h    WORD    rights
  6285.  18h    DWORD    -> filename
  6286.  1Ch    WORD    number of field names in following buffer
  6287.  1Eh    DWORD    -> field names
  6288.  22h    WORD    maximum buffer length
  6289.  24h    DWORD    -> output buffer
  6290. ---function 24h---
  6291.  0Ch    DWORD    -> user name
  6292.  10h    DWORD    -> password
  6293. ---function 25h---
  6294.  0Ch    WORD    "charFcn"
  6295.  0Eh    WORD    "charType"
  6296.  10h    WORD    "charValue"
  6297. ---function 26h---
  6298.  0Ch    DWORD    -> buffer
  6299. ---function 27h---
  6300.  0Ch    WORD    option
  6301.  0Eh    WORD    type
  6302.  10h    WORD    size
  6303.  12h    WORD    "dec"
  6304.  14h    WORD    "dsize"
  6305.  16h    DWORD    -> value
  6306.  1Ah    DWORD    -> "retval"
  6307.  1Eh    DWORD    -> mask
  6308.  22h    WORD    "justify"
  6309. ---function 28h---
  6310.  0Ch    DWORD    -> field name
  6311.  10h    WORD    length of buffer
  6312.  12h    DWORD    -> buffer for data
  6313. ---function 29h---
  6314.  0Ch    WORD    option
  6315.  0Eh    WORD    type
  6316.  10h    WORD    size
  6317.  12h    WORD    "dec"
  6318.  14h    WORD    length of mask
  6319.  16h    DWORD    -> mask
  6320. --------A-7B8001-----------------------------
  6321. INT 7B R - AutoCAD Device Interface - PRINTER/PLOTTER - BEGIN PLOT
  6322.     AX = 8001h
  6323.     BX = file level
  6324.         0000h binary file
  6325.         0001h CAD/camera image file
  6326.         0002h installed ADI driver
  6327.     CX = horizontal size in pixels
  6328.     DX = vertical size in pixels
  6329. Return: AX = status (0000h initialization failed, 0001h init successful)
  6330.     BX = allowed output format
  6331.         0000h monochrome
  6332.         0001h color (4 bits per pixel)
  6333. SeeAlso: AX=8002h,AX=8003h,INT 7B"AutoCAD",INT 7C"AutoShade"
  6334. --------A-7B8002-----------------------------
  6335. INT 7B R - AutoCAD Device Interface - PRINTER/PLOTTER - END PLOT
  6336.     AX = 8002h
  6337. SeeAlso: AX=8001h,AX=8003h
  6338. --------A-7B8003-----------------------------
  6339. INT 7B R - AutoCAD Device Interface - PRINTER/PLOTTER - ABORT PLOT
  6340.     AX = 8003h
  6341. SeeAlso: AX=8001h,AX=8002h
  6342. --------r-7C---------------------------------
  6343. INT 7C U - IBM REXX88PC command language
  6344.     ???
  6345. --------E-7C---------------------------------
  6346. INT 7C - DJGPP GO32.EXE DOS EXTENDER - RELOCATED IRQ4
  6347. Program: GO32.EXE is a DOS extender included as part of the 80386 port of the
  6348.       GNU C/C++ compiler by DJ Delorie and distributed as DJGPP
  6349. Notes:    this vector is overwritten when GO32 starts but is not restored by
  6350.       early versions of the extender
  6351.     the newest versions of GO32 dynamically allocate the vectors used
  6352.       for the relocated IRQs, much as DESQview does (see INT 50"DESQview")
  6353. SeeAlso: INT 0C,INT 7B"GO32",INT 7D"GO32"
  6354. --------P-7C---------------------------------
  6355. INT 7C - PRINDIR v8.02+ - API
  6356.     AH = function
  6357.        00h set output to Invisible mode
  6358.        01h set output to LPT1
  6359.        02h set output to LPT2
  6360.        03h set output to LPT3
  6361.        04h set output to COM1
  6362.        05h set output to COM2
  6363.        06h set output to COM3
  6364.        07h set output to COM4
  6365.        08h set output to screen
  6366.        09h set output to file
  6367.        0Ah change file path
  6368.            ES:DI -> new path
  6369.            CX = length of path (max 41, but not range-checked)
  6370.        0Bh change file name
  6371.            ES:DI -> new filename
  6372.            CX = length of new name (max 41, but not range-checked)
  6373.        0Ch set redirected device
  6374.         (01h = LPT1 ... 03h = LPT3, 04h = COM1 ... 07h = COM4)
  6375.        0Dh force buffer dump
  6376.        0Eh set display color
  6377.            AL = new color attribute (see #0013 at INT 10/AH=08h)
  6378.        0Fh set popup hotkey
  6379.            AL = hotkey scancode
  6380.        10h toggle byte display
  6381.            AL = new state (00h off, 01h on)
  6382.        11h change buffer flush delay
  6383.            AL = timer ticks before flush
  6384. Return: AX = status
  6385.         0000h successful
  6386.         0001h invalid function or nothing in buffer to be dumped
  6387.         (documented as "nonzero = error")
  6388. Program: PRINDIR is a shareware printer-redirection program by J.M. Allen
  6389.       Creations
  6390. Notes:    the installation check consists of testing for the ASCIZ signature
  6391.       "PRINDIR N.NN" (where N.NN is the version number) two bytes beyond
  6392.       the start of the interrupt handler
  6393.     prior versions of PRINDIR used INT 7A instead of INT 7C
  6394. SeeAlso: INT 7A"PRINDIR"
  6395. Index:    hotkeys;PRINDIR
  6396. --------A-7C---------------------------------
  6397. INT 7C - AutoShade v2 - RENDERING HARDCOPY DRIVER
  6398. Note:    this is the default interrupt vector for rendering hardcopy drivers
  6399.       instead of INT 7A used by AutoCAD drivers
  6400. SeeAlso: INT 7A/AX=0001h"AutoCAD"
  6401. --------N-7C---------------------------------
  6402. INT 7C - SK-UPPS/SK-PASSPORT Data Link Interface (DLI) API
  6403. Program: SK-UPPS is the Schneider & Koch Universal Portable Protocol Stack,
  6404.       which provides an API on top of it Data Link Interface, allowing the
  6405.       use of any of several network transport layers; this product is
  6406.       called SK-PASSPORT in the USA.
  6407. Notes:    The installation check consists of testing for the ASCII signature
  6408.       string "UPPS_DLI" immediately preceding the interrupt handler.
  6409.     To find the service interrupt being used by the driver, an application
  6410.       should scan through the interrupt table until it finds an interrupt
  6411.       vector with the "UPPS_DLI" string.
  6412.     There may be more than one DLI loaded, each having its own service
  6413.       interrupt.
  6414. SeeAlso: AX=0000h,AX=0002h,AX=000Fh
  6415. Index:    installation check;SK-UPPS
  6416. --------N-7C0000-----------------------------
  6417. INT 7C - SK-UPPS Data Link Interface API - GET DRIVER VERSION
  6418.     AX = 0000h
  6419. Return: AH = major DLI version
  6420.     AL = minor DLI version
  6421.     DX = OEM signature (see #2430)
  6422.     CL = DLI 2.8+ topology: 1=Ethernet, 2=FDDI, 3=Token-Ring
  6423. SeeAlso: AX=0002h,AX=000Bh,AX=000Dh,AX=000Eh
  6424.  
  6425. (Table 2430)
  6426. Values for SK-UPPS Data Link Interface OEM signature (defined by SK):
  6427.  0001h        experimental
  6428.  3343h    ('3C')    3COM
  6429.  4942h    ('IB')    IBM
  6430.  4943h    ('IC')    Intellicom
  6431.  494Eh    ('IN')    Intel
  6432.  4B4Fh    ('KO')    Kodiak
  6433.  4D41h    ('MA')    Madge
  6434.  4E45h    ('NE')    Novell
  6435.  4F43h    ('OC')    Olicom
  6436.  5349h    ('SI')    Siemens
  6437.  534Bh    ('SK')    Schneider & Koch (SysKonnect)
  6438.  5744h    ('WD')    Western Digital
  6439. --------N-7C0001-----------------------------
  6440. INT 7C - SK-UPPS Data Link Interface API - DOWN DRIVER
  6441.     AX = 0001h
  6442. Return: AX = completion code (see #2431)
  6443. Note:    the DLI will refuse to unload if there are any protocols
  6444.       (see AX=0007h) or clients (see AX=0010h) active.
  6445. Index:    uninstall;SK-UPPS Data Link Interface
  6446.  
  6447. (Table 2431)
  6448. Values for SK-UPPS completion code:
  6449.  0000h    SUCCESS
  6450.  0005h    INVALID_MULTICAST
  6451.  0006h    BUFFER_TOO_SMALL
  6452.  0007h    NO_BUFFERS_LEFT
  6453.  0008h    NO_RESOURCES_LEFT
  6454.  000Bh    ILLEGAL_PROTOCOL_ID
  6455.  000Ch    PROTOCOL_IN_USE
  6456.  000Dh    NO_MULTICAST_ADDRESS
  6457.  000Fh    PROTOCOLS_ACTIVE
  6458.  0010h    CLIENTS_ACTIVE
  6459.  001Bh    INVALID_MODE
  6460.  001Ch    MODE_NOT_SUPPORTED
  6461.  FFFFh    UNKNOWN_SERVICE
  6462. --------N-7C0002-----------------------------
  6463. INT 7C - SK-UPPS Data Link Interface API - GET DRIVER STATUS
  6464.     AX = 0002h
  6465.     ES:DI -> Status Information Block (SIB) (see #2443)
  6466. Return: AX = completion code (see #2431)
  6467. Note:    GET DRIVER INFO (AX=000Eh) should be used instead.
  6468. SeeAlso: AX=0000h,AX=000Bh,AX=000Dh,AX=000Eh
  6469. --------N-7C0003-----------------------------
  6470. INT 7C - SK-UPPS Data Link Interface API - CHANGE DRIVER ADDRESS
  6471.     AX = 0003h
  6472.     ES:DI -> new node address (6 bytes)
  6473. Return: AX = completion code (see #2431)
  6474. Note:    the DLI will refuse to change the address if any protocols
  6475.       (see AX=0007h) are active
  6476. SeeAlso: AX=0001h,AX=000Eh
  6477. --------N-7C0004-----------------------------
  6478. INT 7C - SK-UPPS Data Link Interface API - REQUEST BUFFER
  6479.     AX = 0004h
  6480.     DX = protocol ID (see AX=0007h,#2434)
  6481. Return: AX = completion code (see also #2431)
  6482.         0000h successful
  6483.         ES:BX -> Memory Buffer (Mbuf) (see #2432)
  6484. Note:    if the DLI has no free Mbufs, it will set an internal flag for the
  6485.       protocol and later call the protocol's Event Upcall with
  6486.       EV_BUFFER_AVAILABLE (see #2438,#2439) as soon as an Mbuf becomes
  6487.       available.  There will only be one "buffer available" Upcall, even
  6488.       if this function has been called several times before.
  6489. SeeAlso: AX=0005h,AX=0006h,AX=0012h,AX=0013h
  6490.  
  6491. Format of SK-UPPS Memory Buffer (Mbuf):
  6492. Offset    Size    Description    (Table 2432)
  6493.  00h    DWORD    -> NEXT Mbuf (linked list)
  6494.  04h    WORD    OFFSET of actual data within DATA area
  6495.  06h  2 BYTEs    reserved (currently unused)
  6496.  08h    WORD    LENGTH of actual data found in DATA area starting at OFFSET
  6497.  0Ah  2 BYTEs    reserved (currently unused)
  6498.  0Ch    DWORD    -> DATA area (size can be obtained via AX=000Eh call)
  6499.  10h    WORD    PROTOCOL ID of protocol currently "owning" the Mbuf
  6500.  12h    BYTE    IN USE flag; nonzero if Mbuf still in use by DLI (see AX=0006h)
  6501.  13h    BYTE    RECEIVE STATUS (bit 0-7 only; see AX=0007h - Receive Upcall)
  6502. --------N-7C0005-----------------------------
  6503. INT 7C - SK-UPPS Data Link Interface API - RELEASE BUFFER
  6504.     AX = 0005h
  6505.     ES:BX -> Mbuf (see #2432)
  6506. Return: nothing
  6507. SeeAlso: AX=0004h
  6508. --------N-7C0006-----------------------------
  6509. INT 7C - SK-UPPS Data Link Interface API - TRANSMIT FRAME
  6510.     AX = 0006h
  6511.     ES:BX -> Mbuf (see #2432)
  6512. Return: nothing
  6513. Notes:    The DLI will send LENGTH bytes found in the Mbuf's DATA area starting
  6514.       at OFFSET. A complete and valid frame must be stored there. The DLI
  6515.       will only copy the current node address (see AX=0003h) to the
  6516.       source node field of the frame's MAC header.
  6517.     On Ethernet, the DLI will always send a minimum of 60 bytes, regardless
  6518.       of the value found in the LENGTH field.
  6519.     This function returns immediately; the DLI will call the protocol's
  6520.       Transmit Upcall (see #2433) when the frame has been sent.
  6521.     The Mbuf's IN USE field will be non-zero until the DLI calls the
  6522.       Transmit Upcall.
  6523. SeeAlso: AX=0002h,AX=0004h,AX=0013h
  6524.  
  6525. (Table 2433)
  6526. Values SK-UPPS Transmit Upcall is called with:
  6527.     ES:BX -> Mbuf (NEXT field destroyed)
  6528.     interrupts disabled
  6529. Note:    On FDDI the bytes of the source and destination node fields in the MAC
  6530.       header have been bit-swapped to physical address format.
  6531. --------N-7C0007-----------------------------
  6532. INT 7C - SK-UPPS Data Link Interface API - REGISTER PROTOCOL
  6533.     AX = 0007h
  6534.     ES:BX -> Protocol Control Block (see #2434)
  6535. Return: AX = completion code (see #2431)
  6536. Program: SK-UPPS is the Schneider & Koch Universal Portable Protocol Stack,
  6537.       which provides an API on top of its Data Link Interface, allowing the
  6538.       use of any of several network transport layers
  6539. SeeAlso: AX=0008h,AX=000Bh
  6540.  
  6541. Format of SK-UPPS Protocol Control Block (PCB):
  6542. Offset    Size    Description    (Table 2434)
  6543.  00h    WORD    (big-endian) protocol type
  6544.  02h    WORD    protocol mode (see #2435)
  6545.  04h    DWORD    -> Receive Upcall routine (see #2436)
  6546.  08h    DWORD    -> Transmit Upcall routine
  6547.  0Ch    DWORD    -> Event Upcall routine (see #2438)
  6548.  10h    DWORD    -> ASCIZ protocol name (zero if none)
  6549.  14h    WORD    protocol ID will be returned here (always non-zero)
  6550.  
  6551. Bitfields for SK-UPPS protocol mode:
  6552. Bit(s)    Description    (Table 2435)
  6553.  0    promiscuous mode; protocol receives all frames regardless of their
  6554.       destination (PROTOCOL TYPE must be FFFFh)
  6555.  1    if set, protocol's Event Upcall will be called on entry and exit of the
  6556.       DLI's Interrupt Service Routine (see event codes below)
  6557.  2    DLI 2.2+ hook mode; protocol receives all directed frames destined for
  6558.       this station (PROTOCOL TYPE must be FFFFh)
  6559.  3    DLI 2.3+ receive error frames (only valid in promiscuous mode (0))
  6560.  4-5    DLI 2.5+ frame type:
  6561.     00 Ethernet II; specify type code in PROTOCOL TYPE field (high-low)
  6562.     01 IEEE 802.2; specify Service Access Point (SAP) in MSB
  6563.           (offset 0) of PROCOTOL TYPE field; LSB must be zero
  6564.     10 IEEE 802.2 with SNAP header; specify type code in PROTOCOL TYPE
  6565.           field (high-low)
  6566.     11 reserved (currently unused)
  6567.  6    DLI 2.5+ if set, protocol's Event Upcall will be called with event code
  6568.       EV_BUFFER_WANTED, when DLI runs out of Mbufs
  6569.  7    DLI 2.7+ chain mode; if set, client allows the specified frame type to
  6570.       be shared with other clients
  6571.  8    DLI 2.8+ receive non-LLC frames rather than LLC frames
  6572.  9    DLI 2.8+ receive all multicast frames (see also AX=0009h)
  6573.  10-15    reserved (currently unused; must be zero)
  6574. Notes:    If PROTOCOL TYPE is FFFFh and neither the "promiscuous" nor the "hook"
  6575.       mode is set, the protocol receives all frames that did not match
  6576.       any registered frame type (demultiplexor mode).
  6577.     Protocols using "promiscuous", "hook" or "chain" mode should always
  6578.       return from the Receive Upcall with the received Mbuf in ES:BX and
  6579.       the Carry Flag set. The DLI will then pass the Mbuf to the FEED BACK
  6580.       BUFFER function (see AX=000Fh).
  6581.     Some DLIs do not support all or even any of the "promiscuous",
  6582.       "receive non-LLC" and "receive all multicasts" mode bits.
  6583.  
  6584. (Table 2436)
  6585. Values SK-UPPS Receive Upcall is called with:
  6586.  ES:BX -> Mbuf
  6587.  AX = receive status (see #2437) (also stored in Mbuf's RECEIVE STATUS field)
  6588.  interrupts disabled
  6589.  
  6590. Bitfields for SK-UPPS receive status:
  6591. Bit(s)    Description    (Table 2437)
  6592.  0-2    reserved (0), currently unused
  6593.  3    frame check sequence (FCS) error
  6594.  4    overflow (frame too long)
  6595.  5    framing error
  6596.  6    reserved (0), currently unused
  6597.  7    non-LLC frame (see 8 of PCB's protocol mode field)
  6598.  8-15    reserved (0), currently unused
  6599. Notes:    The protocol's Receive Upcall routine will be called whenever a frame
  6600.       matching the specified frame type is received. A received frame is
  6601.       passed to the protocol in the Mbuf's DATA area at OFFSET and its size
  6602.       is LENGTH bytes.
  6603.     The receive status passed to the Receive Upcall in register AL is
  6604.       always zero, except for protocols using "non-LLC" mode (8 of PCB's
  6605.       protocol mode field) or "promiscuous" mode together with "receive
  6606.       error frames" (0 & 3).
  6607.     Upcalls are FAR routines and must return with a RET FAR. If the Carry
  6608.       Flag is set on return from a Receive or Transmit Upcall, then ES:BX
  6609.       must point to an Mbuf, which the DLI will then pass to the RELEASE
  6610.       BUFFER function (see AX=0005h). See also notes for PROTOCOL MODE.
  6611.  
  6612. (Table 2438)
  6613. Values SK-UPPS Event Upcall is called with:
  6614.  AX = event code (see #2439)
  6615. Note:    All Event Upcalls may be ignored by the protocol.
  6616.  
  6617. (Table 2439)
  6618. Values for SK-UPPS Event Upcall event code:
  6619.  00h    EV_BUFFER_AVAILABLE client may now call REQUEST BUFFER (AX=0004h)
  6620.  01h    EV_ISR_START        start of Interrupt Service Routine
  6621.  02h    EV_ISR_END        end of ISR (see bit 1 in PCB's protocol mode field)
  6622.  03h    EV_BUFFER_WANTED    DLI temporarily out of Mbufs
  6623.  04h    EV_NETWORK_STATUS   DLI 2.8+ network status -- DX=status (see #2440)
  6624.  05h    EV_IO_CONTROL        DLI 2.8+ I/O control -- DX=subfunc (see AX=0016h)
  6625.  
  6626. Bitfields for EV_NETWORK_STATUS in register DX:
  6627. Bit(s)    Description    (Table 2440)
  6628.     Token-Ring        FDDI
  6629.  15    SIGNAL_LOSS        SIGNAL_LOSS
  6630.  14    HARD_ERROR        HARD_ERROR
  6631.  13    SOFT_ERROR        SOFT_ERROR
  6632.  12    TRANSMIT_BEACON        TRANSMIT_BEACON
  6633.  11    LOBE_WIRE_FAULT        PATH_TEST_FAILED
  6634.  10    AUTO_REMOVAL        SELF_TEST_REQUIRED
  6635.  9    reserved        reserved
  6636.  8    REMOVE_RECEIVED        REMOTE_DISCONNECT
  6637.  7    COUNTER_OVERFLOW    reserved
  6638.  6    SINGLE_STATION        DUPLICATE_ADDRESS
  6639.  5    RING_RECOVERY        NO_RING_OP_STATUS
  6640.  4    reserved        VERSION_MISMATCH
  6641.  3    reserved        STUCK_BYPASS
  6642.  2    reserved        FDDI_EVENT
  6643.  1    reserved        RING_OP_CHANGE
  6644.  0    reserved        reserved
  6645. Note:    EV_NETWORK_STATUS is not supported on Ethernet
  6646. --------N-7C0008-----------------------------
  6647. INT 7C - SK-UPPS Data Link Interface API - DISABLE PROTOCOL
  6648.     AX = 0008h
  6649.     BX = protocol ID (see #2434)
  6650. Return: AX = completion code (see #2431)
  6651. Note:    the DLI will handle any Mbufs given to TRANSMIT FRAME (AX=0006h) as if
  6652.       they had been given to TRANSMIT FRAME RELEASE (AX=0013h).
  6653.     all multicast addresses registered for this protocol will be disabled.
  6654.     after this function returns, the protocol's Upcall routines will no
  6655.       longer be called.
  6656. SeeAlso: AX=0007h,AX=000Bh
  6657. --------N-7C0009-----------------------------
  6658. INT 7C - SK-UPPS Data Link Interface API - REGISTER MULTICAST
  6659.     AX = 0009h
  6660.     BX = protocol ID (see #2434)
  6661.     ES:DI -> multicast address (6 bytes)
  6662. Return: AX = completion code (see #2431)
  6663. Notes:    The broadcast address is always enabled.
  6664.     Set bit 9 of PCB's protocol mode field in REGISTER PROTOCOL call
  6665.       (AX=0007h) to receive all multicast frames.
  6666. SeeAlso: AX=000Ah,AX=0014h
  6667. --------N-7C000A-----------------------------
  6668. INT 7C - SK-UPPS Data Link Interface API - DISABLE MULTICAST
  6669.     AX = 000Ah
  6670.     BX = protocol ID (see #2434)
  6671.     ES:DI -> multicast address (6 bytes)
  6672. Return: AX = completion code (see #2431)
  6673. SeeAlso: AX=0009h,AX=0014h
  6674. --------N-7C000B-----------------------------
  6675. INT 7C - SK-UPPS Data Link Interface API - GET PROTOCOL LIST
  6676.     AX = 000Bh
  6677.     ES:DI -> protocol ID buffer
  6678.     CX = number of 2-byte protocol IDs that may be stored in buffer
  6679. Return: AX = completion code (see #2431)
  6680.     CX = number of active protocols (regardless of value returned in AX)
  6681.     protocol ID buffer filled with active protocol IDs
  6682. Program: SK-UPPS is the Schneider & Koch Universal Portable Protocol Stack,
  6683.       which provides an API on top of its Data Link Interface, allowing the
  6684.       use of any of several network transport layers
  6685. Note:    If the buffer supplied is too small, CX still contains the total number
  6686.       of active protocols and the buffer has been filled until full.
  6687. SeeAlso: AX=000Ch,AX=0014h
  6688. --------N-7C000C-----------------------------
  6689. INT 7C - SK-UPPS Data Link Interface API - GET PROTOCOL STATUS
  6690.     AX = 000Ch
  6691.     BX = protocol ID (see #2434,AX=000Bh)
  6692.     ES:DI -> Protocol Status Block (see #2441)
  6693. Return: AX = completion code (see #2431)
  6694. SeeAlso: AX=000Bh,AX=0014h
  6695.  
  6696. Format of SK-UPPS Protocol Status Block (PSB):
  6697. Offset    Size    Description    (Table 2441)
  6698.  00h    DWORD    -> ASCIZ protocol name
  6699.  04h    WORD    protocol mode (see #2435)
  6700.  06h    WORD    protocol type (see AX=0007h)
  6701.  08h    WORD    number of registered multicasts (see AX=0009h,AX=0014h)
  6702. --------N-7C000D-----------------------------
  6703. INT 7C - SK-UPPS Data Link Interface API - GET DRIVER STATISTICS
  6704.     AX = 000Dh
  6705.     BX = flag: 0=don't clear statistics, 1=clear statistics
  6706.     ES:DI -> Statistics Data Block (see #2442)
  6707. Return: AX = completion code (see #2431)
  6708. SeeAlso: AX=0002h,AX=0015h
  6709.  
  6710. Format of SK-UPPS Statistics Data Block (SDB):
  6711. Offset    Size    Description    (Table 2442)
  6712.  00h    DWORD    node uptime in ticks (1/18.21 sec.)
  6713.  04h    DWORD    bytes received
  6714.  08h    DWORD    bytes transmitted
  6715.  0Ch    DWORD    frames received
  6716.  10h    DWORD    frames transmitted
  6717.  14h    DWORD    multicast bytes received
  6718.  18h    DWORD    multicast frames received
  6719.  1Ch    DWORD    unrecognized frames
  6720.  20h    WORD    missed frames
  6721.  22h    WORD    frame check sequence (FCS) errors
  6722.  24h    WORD    framing errors
  6723.  26h    WORD    babbling errors
  6724.  28h    WORD    late collision errors
  6725.  2Ah    WORD    loss of carrier errors
  6726.  2Ch    WORD    16 retries failed errors
  6727.  2Eh    WORD    overflow errors
  6728. Note:    fields 26h through 2Ch are always zero, except in some very old
  6729.       versions of the DLI.    Use GET MEDIA STATISTICS (AX=0015h) to get
  6730.       more detailed information.
  6731. --------N-7C000E-----------------------------
  6732. INT 7C - SK-UPPS Data Link Interface API - DLI 2.5+ - GET DRIVER INFO
  6733.     AX = 000Eh
  6734.     ES:DI -> Driver Information Block (see #2443)
  6735.     BX = offset of 1st field within DIB to be returned
  6736.     CX = number of bytes to be returned
  6737. Return: AX = completion code (see #2431)
  6738.     CX = number of bytes copied (regardless of value returned in AX)
  6739. Program: SK-UPPS is the Schneider & Koch Universal Portable Protocol Stack,
  6740.       which provides an API on top of its Data Link Interface, allowing the
  6741.       use of any of several network transport layers
  6742. SeeAlso: AX=0000h,AX=0002h,AX=000Bh,AX=000Dh,AX=0015h
  6743.  
  6744. Format of SK-UPPS Driver Information Block (DIB):
  6745. Offset    Size    Description    (Table 2443)
  6746.  00h  6 BYTEs    physical node address (from adapter's ROM)
  6747.  06h  6 BYTEs    current node address (see AX=0003h)
  6748.  0Ch    BYTE    adapter id (defined by OEM)
  6749.  0Dh    BYTE    IRQ line (FFh if none)
  6750.  0Eh    DWORD    -> shared memory (zero if none)
  6751.  12h    DWORD    size of shared memory (zero if none)
  6752.  16h    WORD    base I/O port (zero if none)
  6753.  18h    BYTE    DMA line (FFh if none)
  6754.  19h    BYTE    DLI 2.4+ topology (see AX=0000h)
  6755.  1Ah    WORD    size of an Mbuf's DATA area (see #2432)
  6756.  1Ch  2 BYTEs    reserved (currently unused)
  6757.  1Eh    WORD    total number of Mbufs the DLI has
  6758.  20h    WORD    maximum number of Mbufs that can be allocated via REQUEST
  6759.           BUFFER (AX=0004h) and SYNC REQUEST BUFFER (AX=0012h)
  6760.  ---- end of Status Information Block returned by GET DRIVER STATUS (AX=0002h)
  6761.  22h    DWORD    -> ASCIZ adapter name
  6762.  26h    WORD    number of I/O ports used (zero if none)
  6763.  28h    DWORD    line speed in bits/sec.
  6764. --------N-7C000F-----------------------------
  6765. INT 7C - SK-UPPS Data Link Interface API - FEED BACK BUFFER
  6766.     AX = 000Fh
  6767.     ES:BX -> Mbuf (see #2432)
  6768. Return: nothing
  6769. Notes:    A protocol may call this function instead of returning the Mbuf
  6770.       directly from the Receive Upcall if it is running in "promiscuous",
  6771.       "hook" or "chain" mode.
  6772. SeeAlso: AX=0007h
  6773. --------N-7C0010-----------------------------
  6774. INT 7C - SK-UPPS Data Link Interface API - CLIENT HOOK
  6775.     AX = 0010h
  6776. Return: nothing
  6777. Notes:    An application having no active protocols may call this function to
  6778.       prevent the DLI from unloading.
  6779. SeeAlso: AX=0001h,AX=0011h
  6780. --------N-7C0011-----------------------------
  6781. INT 7C - SK-UPPS Data Link Interface API - CLIENT UNHOOK
  6782.     AX = 0011h
  6783. Return: nothing
  6784. Program: SK-UPPS is the Schneider & Koch Universal Portable Protocol Stack,
  6785.       which provides an API on top of its Data Link Interface, allowing the
  6786.       use of any of several network transport layers
  6787. SeeAlso: AX=0010h
  6788. --------N-7C0012-----------------------------
  6789. INT 7C - SK-UPPS Data Link Interface API - SYNC REQUEST BUFFER
  6790.     AX = 0012h
  6791.     DX = protocol ID (see #2434)
  6792. Return: AX = completion code (see #2431)
  6793.     if AX=0000h: ES:BX -> Mbuf (see #2432)
  6794. Note:    If the protocol wants to be informed when an Mbuf becomes available,
  6795.       REQUEST BUFFER (AX=0004h) should be used instead.
  6796. SeeAlso: AX=0004h,AX=0005h,AX=0006h,AX=0013h
  6797. --------N-7C0013-----------------------------
  6798. INT 7C - SK-UPPS Data Link Interface API - TRANSMIT FRAME RELEASE
  6799.     AX = 0013h
  6800.     ES:BX -> Mbuf (see #2432)
  6801. Return: nothing
  6802. Notes:    Returns immediately; The protocol's Transmit Upcall will NOT be called.
  6803.     The Mbuf may no more be used by the protocol in any way (i.e. the
  6804.       Mbuf's IN USE field may not be polled).
  6805. SeeAlso: AX=0004h,AX=0013h
  6806. --------N-7C0014-----------------------------
  6807. INT 7C - SK-UPPS Data Link Interface API - GET MULTICAST LIST
  6808.     AX = 0014h
  6809.     BX = protocol ID (see #2434,AX=000Bh)
  6810.     ES:DI -> multicast address buffer
  6811.     CX = number of 6-byte multicast addresses that may be stored in buffer
  6812. Return: AX = completion code (see #2431)
  6813.     CX = number of registered multicast addresses for this protocol
  6814.       (regardless of value returned in AX)
  6815.     multicast address buffer filled with multicast addresses registered for
  6816.       this protocol
  6817. Note:    If the buffer supplied is too small, CX still contains the total number
  6818.       of registered multicast addresses for this protocol and the buffer
  6819.       has been completely filled
  6820. SeeAlso: AX=000Bh,AX=0009h,AX=000Ch
  6821. --------N-7C0015-----------------------------
  6822. INT 7C - SK-UPPS Data Link Interface API - DLI 2.6+ - GET MEDIA STATISTICS
  6823.     AX = 0015h
  6824.     ES:DI -> media-specific statistics buffer (see #2444,#2445,#2446)
  6825.     BX = offset of 1st field within MSS to be returned
  6826.     CX = number of bytes to be returned
  6827. Return: AX = completion code (see #2431)
  6828.     CX = number of bytes copied (regardless of value returned in AX)
  6829. Note:    not supported by all DLIs (will return AX=FFFFh if not supported).
  6830. SeeAlso: AX=0000h,AX=000Dh
  6831.  
  6832. Format of SK-UPPS media-specific statistics for Ethernet:
  6833. Offset    Size    Description    (Table 2444)
  6834.  00h    DWORD    alignment errors
  6835.  04h    DWORD    frame check sequence (FCS) errors
  6836.  08h    DWORD    single collision frames
  6837.  0Ch    DWORD    multiple collision frames
  6838.  10h    DWORD    signal quality error (SQE) test errors
  6839.  14h    DWORD    deferred transmissions
  6840.  18h    DWORD    late collisions
  6841.  1Ch    DWORD    excessive collisions
  6842.  20h    DWORD    internal MAC transmit errors
  6843.  24h    DWORD    carrier sense errors
  6844.  28h    DWORD    excessive deferrals
  6845.  2Ch    DWORD    frame too longs
  6846.  30h    DWORD    in range length errors
  6847.  34h    DWORD    out of range length fields
  6848.  38h    DWORD    internal MAC receive errors
  6849.  
  6850. Format of SK-UPPS media-specific statistics for FDDI:
  6851. Offset    Size    Description    (Table 2445)
  6852.  00h    DWORD    SMT operating version id (refer to ANSI 7.1.2.2)
  6853.  04h    DWORD    SMT CF state: 1=Isolated, 2= Wrap_S, 3=Wrap_A, 4=Wrap_B,
  6854.           5=Wrap_AB, 6=Thru (refer to ANSI SMT 9.7.4.3)
  6855.  08h    DWORD    SMT frames sent
  6856.  0Ch    DWORD    SMT frames received
  6857.  10h    DWORD    SMT ring up count
  6858.  14h  6 BYTEs    MAC upstream neighbour
  6859.  1Ah  6 BYTEs    MAC downstream neighbour
  6860.  20h    DWORD    MAC frame counter (refer to ANSI MAC 2.2.1)
  6861.  24h    DWORD    MAC error counter ( " )
  6862.  28h    DWORD    MAC lost counter ( " )
  6863.  2Ch    BYTE    port 1 link error estimate (ranges from 10**-4 to 10**-15 and
  6864.           is reported as the absolute value of the exponent)
  6865.  2Dh    BYTE    port 2 link error estimate ( " )
  6866.  2Eh  2 BYTEs    reserved (currently unused)
  6867.  30h    DWORD    attachment class: 1=single-attachment (S PORT),
  6868.           2=dual-attachment (A/B PORT pairs), 3=concentrator (M PORTs)
  6869.  34h    DWORD    attachment optical bypass present: 1=true, 2=false
  6870.  
  6871. Format of SK-UPPS media-specific statistics for Token-Ring:
  6872. Offset    Size    Description    (Table 2446)
  6873.  00h  6 BYTEs    upstream neighbour
  6874.  06h    WORD    local ring number
  6875.  08h    DWORD    ring up count
  6876.  0Ch    DWORD    signal loss errors
  6877.  10h    DWORD    lobe wire faults
  6878.  14h    DWORD    ring recovery count
  6879.  18h    DWORD    line errors
  6880.  1Ch    DWORD    burst errors
  6881.  20h    DWORD    ARI/FCI errors
  6882.  24h    DWORD    lost frame errors
  6883.  28h    DWORD    receive congestion errors
  6884.  2Ch    DWORD    frame copied errors
  6885.  30h    DWORD    token errors
  6886.  34h    DWORD    DMA bus errors
  6887.  38h    DWORD    DMA parity errors
  6888.  3Ch    DWORD    receive overflow errors
  6889. --------N-7C0016-----------------------------
  6890. INT 7C - SK-UPPS Data Link Interface API - DLI 2.8+ - DRIVER I/O CONTROL
  6891.     AX = 0016h
  6892.     DX = subfunction; bits 14-15 specify direction of I/O:
  6893.         00 no data at all (ES:BX undefined)
  6894.         01 driver -> application (GET)
  6895.         10 application -> driver (SET)
  6896.         11 both directions (GET/SET)
  6897.     ES:BX -> I/O buffer (optional)
  6898.     CX = size of buffer (if ES:BX valid)
  6899. Return: AX = completion code; defined by OEM
  6900. Program: SK-UPPS is the Schneider & Koch Universal Portable Protocol Stack,
  6901.       which provides an API on top of its Data Link Interface, allowing the
  6902.       use of any of several network transport layers
  6903. Notes:    not supported by all DLIs (will return AX=FFFFh if not supported)
  6904.     subfunction codes are defined by OEMs
  6905. SeeAlso: AX=0001h
  6906. --------N-7C0017-----------------------------
  6907. INT 7C - SK-UPPS Data Link Interface API - DLI 2.8+ - INTERRUPT REQUEST
  6908.     AX = 0017h
  6909. Return: AX = completion code (see #2431)
  6910. Notes:    not supported by all DLIs (will return AX=FFFFh, if not supported).
  6911.     must be called with interrupts disabled; when the client re-enables
  6912.       interrupts, an interrupt will be generated and reported to the client
  6913.       through an Event Upcall (see AX=0007h [EV_ISR_START/EV_ISR_END])
  6914. SeeAlso: AX=0007h
  6915. --------t-7D---------------------------------
  6916. INT 7D O - [obsoleted proposal] - ALTERNATE MULTIPLEX INTERRUPT
  6917. Note:    this interface has been moved to INT 2D; there are no known
  6918.       implementations on INT 7D
  6919. SeeAlso: INT 2D,INT 2F
  6920. --------S-7D---------------------------------
  6921. INT 7D U - YTERM 1.4 - CLOCK SUPPORT
  6922. SeeAlso: INT 7E"YTERM"
  6923. --------E-7D---------------------------------
  6924. INT 7D - DJGPP GO32.EXE DOS EXTENDER - RELOCATED IRQ5
  6925. Notes:    this vector is overwritten when GO32 starts but is not restored by
  6926.       early versions of the extender
  6927.     the newest versions of GO32 dynamically allocate the vectors used
  6928.       for the relocated IRQs, much as DESQview does (see INT 50"DESQview")
  6929. SeeAlso: INT 0D,INT 7C"GO32",INT 7E"GO32"
  6930. --------U-7D---------------------------------
  6931. INT 7D - HyperPAD v2.2 - API ACCESS
  6932. Note:    this vector is hooked but immediately passed on (without checking
  6933.       whether the previous handler was 0000h:0000h).  The sole purpose of
  6934.       this vector is to provide the address of the data area described
  6935.       below (see #2447).
  6936.  
  6937. Format of HyperPAD data area:
  6938. Offset    Size    Description    (Table 2447)
  6939.  -16h    DWORD    pointer to ??? FAR function
  6940.  -12h    DWORD    pointer to callback setting function
  6941.         [C calling conventions, (*callback)(int (_loadds far *)()) ]
  6942.  -0Eh 6 BYTEs    signature "BRC001"
  6943.  -08h    DWORD    pointer to previous INT 7D handler
  6944.  -04h    DWORD    pointer to ??? data
  6945.  00h        HyperPAD INT 7D handler
  6946. ----------7D---------------------------------
  6947. INT 7D - IBM DOS 6.1 E.EXE - ???
  6948. Note:    E.EXE checks whether this interrupt is in use (not 0000h:0000h),
  6949.       and if it is used, attempts to load E55VGA.EX instead of the 
  6950.       default E.EX overlay.     However, E55VGA.EX is not included in
  6951.       IBM DOS 6.1.
  6952. ----------7D00-------------------------------
  6953. INT 7D - SCSILink - RESET SCSI BUS
  6954.     AH = 00h
  6955. Program: SCSILink is a TSR by Cross Products Ltd which allows its PC-hosted
  6956.       cross assemblers and similar products to communicate with Cross
  6957.       Products hardware debuggers
  6958. Desc:    reset all devices on the SCSI bus
  6959. Note:    the installation check is the signature "SCSILINK" immediately prior
  6960.       to the interrupt handler
  6961. Index:    installation check;SCSILink
  6962. ----------7D01-------------------------------
  6963. INT 7D - SCSILink - CONNECT TO TARGET
  6964.     AH = 01h
  6965.     AL = target ID
  6966. Return: CF clear if successful
  6967.     CF set on error
  6968.         AL = initiator error
  6969.         AH = target error
  6970. Desc:    arbitrate the use of the bus and select the specified target device
  6971. ----------7D02-------------------------------
  6972. INT 7D - SCSILink - SEND COMMAND
  6973.     AH = 02h
  6974.     ES:BX -> parameter block (see #2448)
  6975. Return: CF clear if successful
  6976.     CF set on error
  6977.         AL = initiator error
  6978.         AH = target error
  6979. Desc:    send the specified command block to the target device and perform any
  6980.       related I/O
  6981.  
  6982. Format of SCSILink parameter block:
  6983. Offset    Size    Description    (Table 2448)
  6984.  00h    DWORD    size of command block
  6985.  04h    DWORD    address of command block (see #2449)
  6986.  08h    DWORD    size of buffer
  6987.  0Ch    DWORD    address of buffer
  6988.  
  6989. Format of SCSILink command block:
  6990. Offset    Size    Description    (Table 2449)
  6991.  00h        info not yet available
  6992. ----------7D03-------------------------------
  6993. INT 7D - SCSILink - SET TIMEOUT
  6994.     AH = 03h
  6995.     AL = timeout selector (see #2450)
  6996.     BX = new value in 55ms ticks
  6997. Desc:    change an internal timeout value to allow communication with very
  6998.       slow targets
  6999.  
  7000. (Table 2450)
  7001. Values for SCSILink timeout selector:
  7002.  00h    time to wait for bus (default 18)
  7003.  01h    time to wait for new phase (default 5)
  7004.  02h    maximum time to send/receive block (default 18)
  7005.  03h    time to wait for reselect (default 180)
  7006. ----------7D04-------------------------------
  7007. INT 7D - SCSILink - GET ERROR STRING
  7008.     AH = 04h
  7009.     AL = error number
  7010. Return: ES:BX -> ASCIZ error string for error number
  7011. ----------7D05-------------------------------
  7012. INT 7D - SCSILink - GET ADDRESS
  7013.     AH = 05h
  7014. Return: AL = DMA channel
  7015.     AH = initiator ID
  7016.     BX = card address
  7017. Desc:    determine the current hardware configuration
  7018. ----------7D06-------------------------------
  7019. INT 7D - SCSILink - PUT DATA
  7020.     AH = 06h
  7021.     CX = number of bytes to store (0001h-0100h)
  7022.     ES:BX -> data to be saved
  7023. Return: CF clear if successful
  7024.     CF set on error
  7025.         AL = error code (01h = too much data)
  7026. Note:    the specified data is stored in SCSILink's PSP
  7027. SeeAlso: AH=07h
  7028. ----------7D07-------------------------------
  7029. INT 7D - SCSILink - GET DATA
  7030.     AH = 07h
  7031.     CX = number of bytes to retrieve (0001h-0100h)
  7032.     ES:BX -> buffer for data
  7033. Return: CF clear if successful
  7034.     CF set on error
  7035.         AL = error code (01h = too much data)
  7036. Note:    retrieve data previously stored with AH=06h
  7037. SeeAlso: AH=06h
  7038. ----------7D08-------------------------------
  7039. INT 7D - SCSILink - TERMINATE SESSION
  7040.     AH = 08h
  7041. Desc:    indicate to any other programs that intercept INT 7D that the program
  7042.       has finished with the link
  7043. Note:    the program should call this function even if a SCSI error caused its
  7044.       termination
  7045. ----------7D09-------------------------------
  7046. INT 7D - SCSILink - POLL REQUEST
  7047.     AH = 09h
  7048.     AL = target ID
  7049. Return: AL = status
  7050.         FEh resident driver experienced SCSI error
  7051.         FFh resident driver handleded event
  7052. Desc:    give any drivers chained onto INT 7D a chance to handle an exception
  7053.       not specifically handled by the calling program
  7054. Notes:    this service exists so that resident disk servers, etc. can continue
  7055.       running even while debuggers and profilers are active
  7056.     the resident driver assumes that a connection has been established and
  7057.       attempts to leave the target connected
  7058. --------*-7E---------------------------------
  7059. INT 7E - RESERVED FOR DIP, Ltd. ROM LIBRARY
  7060. --------S-7E---------------------------------
  7061. INT 7E U - YTERM 1.4 - ???
  7062. SeeAlso: INT 7D"YTERM",INT 7F"YTERM"
  7063. --------E-7E---------------------------------
  7064. INT 7E - DJGPP GO32.EXE DOS EXTENDER - RELOCATED IRQ6
  7065. Program: GO32.EXE is a DOS extender included as part of the 80386 port of the
  7066.       GNU C/C++ compiler by DJ Delorie and distributed as DJGPP
  7067. Notes:    this vector is overwritten when GO32 starts but is not restored by
  7068.       early versions of the extender
  7069.     the newest versions of GO32 dynamically allocate the vectors used
  7070.       for the relocated IRQs, much as DESQview does (see INT 50"DESQview")
  7071. SeeAlso: INT 0E,INT 7D"GO32",INT 7F"GO32"
  7072. --------s-7E00FE-----------------------------
  7073. INT 7E - SBOS - UNINSTALL
  7074.     AX = 00FEh
  7075. Return: nothing, SBOS removed
  7076. Program: SBOS is a SoundBlaster emulator for the Gravis UltraSound
  7077. Note:    this function may not be called if any SBOS vectors have been hooked
  7078. SeeAlso: INT 21/AX=FD12h
  7079. --------m-7E5857BL57-------------------------
  7080. INT 7E - XLOAD - INSTALLATION CHECK
  7081.     AX = 5857h
  7082.     BL = 57h
  7083. Return: AX = 0000h if installed
  7084. Program: XLOAD is the LOADHIGH-equivalent from Helix Software's Netroom
  7085. SeeAlso: AX=5857h/BL=5Ah,AX=5857h/BL=5Bh
  7086. --------m-7E5857BL5A-------------------------
  7087. INT 7E - XLOAD - GET ???
  7088.     AX = 5857h
  7089.     BL = 5Ah
  7090. Return: AX = 0000h
  7091.     CX = ???
  7092.     DS:SI -> ???
  7093. SeeAlso: AX=5857h/BL=57h,AX=5857h/BL=5Bh
  7094. --------m-7E5857BL5B-------------------------
  7095. INT 7E - XLOAD - GET XLOAD MEMORY SIZE
  7096.     AX = 5857h
  7097.     BL = 5Bh
  7098. Return: AX = 0000h
  7099.     CX = segment of XLOAD TSR
  7100.     DX = size of memory block in which XLOAD TSR is located
  7101. SeeAlso: AX=5857h/BL=57h,AX=5857h/BL=5Ah
  7102. --------!---Section--------------------------
  7103.